G06F9/44557

Compiler operations for heterogeneous code objects

Described herein are techniques for performing compilation operations for heterogeneous code objects. According to the techniques, a compiler identifies architectures targeted by a compilation unit, compiles the compilation unit into a heterogeneous code object that includes a different code object portion for each identified architecture, performs name mangling on functions of the compilation unit, links the heterogeneous code object with a second code object to form an executable, and generates relocation records for the executable.

SYSTEM AND METHOD OF TRANSFER OF CONTROL BETWEEN MEMORY LOCATIONS

Disclosed are system and method for controlling execution of a program. An example method includes determining a memory sector for storing at least a portion of execution instructions of the computer program in virtual memory address space; determining, in the virtual memory address space, one or more pages that contain code instructions and data associated with the memory sector; creating a duplicate of the virtual memory address space comprising the memory sector and the one or more pages; tagging the memory sector and the one or more pages in both the virtual memory address space and its duplicate; receiving a notification to transfer execution of the computer program between different memory sectors while executing instructions stored in either the virtual memory address space or its duplicate; and transferring execution of the computer program to a memory location other than the one in which the notification was received.

Directed Placement of Data in Memory
20170315755 · 2017-11-02 ·

A method of storing computer executable instructions and data elements of a program in a plurality of memory blocks of an embedded system. The method includes receiving object code that comprises instructions that symbolically refer to one or more data elements; metadata that identifies the data elements in the object code; and a data element description that identifies each of the data elements as either a regular data element or a non-regular data element. Executable code is generated based the object code, metadata and the data element description that comprises computer executable instructions that refer to the data elements using an address in the memory, wherein the regular data elements are referenced by an address in a non-instruction memory block of the plurality of memory blocks and the non-regular data elements are referenced by an address in an instruction memory block. The executable code is then loaded into the memory of the embedded system.

Dynamic Addition of Code in Shared Libraries

Various embodiments include methods for dynamically modifying shared libraries on a client computing device. Various embodiment methods may include receiving a first set of code segments and a first set of code sites associated with a first application. Each code in the first set of code sites may include an address within a compiled shared library stored on the client computing device. The compiled shared library may include one or more dummy instructions inserted at each code site in the first set of code sites, and each code segment in the first set of code segments may be associated with a code site in the first set of code sites. The client computing device may insert each code segment in the first set of code segments at its associated code site in the compiled shared library.

Layout system for operating systems using BPRAM

A software layout system is described herein that speeds up computer system boot time and/or application initialization time by moving constant data and executable code into byte-addressable, persistent random access memory (BPRAM). The system determines which components and aspects of the operating system or application change infrequently. From this information, the system builds a high performance BPRAM cache to provide faster access to these frequently used components, including the kernel. The result is that kernel or application code and data structures have a high performance access and execution time with regard to memory fetches. Thus, the software layout system provides a faster way to prepare operating systems and applications for normal operation and reduces the time spent on initialization.

SECURE APPLICATIONS IN COMPUTATIONAL STORAGE DEVICES

A method includes receiving, at a controller of a storage device, a command reserving a program slot of a processing device of the storage device to an application. The method further includes storing, by the controller of the storage device, an association between the program slot and the application. The method further includes receiving, at the controller of the storage device, a request to load the application into the execution slot. The method further includes loading, by the controller of the storage device, the application into the program slot based on the association and the request. The method further includes executing, at the processing device of the storage device, the application in the program slot.

Method for implementing SIM card function on terminal, terminal, and UICC

The present invention discloses a method for implementing a SIM card function on a terminal, a terminal and a UICC. The method includes: downloading information for implementing the SIM card function; writing the information for implementing the SIM card function into a reserved storage space of the terminal; and after the SIM card is activated, authenticating an access identity of a terminal user by using the information for implementing the SIM card function. In the present invention, the information for implementing the SIM card function is downloaded to the terminal, so as to implement the SIM card function by means of software.

Application-tailored object re-use and recycling

A computing device receives a request for content for a content layout in a displayable region of a screen associated with the device. The device determines, based on application-tailored recycling policies, whether a recycler includes a display object that is suitable for recycling or re-use. If it does not, the device creates the display object and fills it with the content. If it does, and if the display object contains the content, the device updates elements of the display object as needed; otherwise, if the display object does not contain the content, the device fills the display object with the content and returns it. The recycling or re-using may also be performed with sub-elements of a display object, some of which may comprise nested display objects.

Systems and methods for accelerating data operations by utilizing native memory management

For one embodiment of the present invention, methods and systems for accelerating data operations with efficient memory management in native code and native dynamic class loading mechanisms are disclosed. In one embodiment, a data processing system comprises memory and a processing unit coupled to the memory. The processing unit is configured to receive input data, to execute a domain specific language (DSL) for a DSL operation with a native implementation, to translate a user defined function (UDF) into the native implementation by translating user defined managed software code into native software code, to execute the native software code in the native implementation, and to utilize a native memory management mechanism for the memory to manage object instances in the native implementation.

DEVICE, SYSTEM AND METHOD TO EFFICIENTLY UPDATE A SECURE ARBITRATION MODE MODULE
20220197995 · 2022-06-23 · ·

Techniques and mechanisms to efficiently provide features of a secure authentication mode (SEAM) by a processor. In an embodiment, cores of the processor support an instruction set which comprises instructions to invoke the SEAM. One such core installs an authenticated code module (ACM), which is executed to load a persistent SEAM loader module (P-SEAMLDR) in a reserved region of a system memory. In turn, the P-SEAMLDR loads into the reserved region a SEAM module which facilitates trust domain extension (TDX) protections for a given trusted domain. In another embodiment, the instruction set supports a SEAM call instruction with which either of the P-SEAMLDR or the SEAM module is accessed in the reserved region.