Abstract:
A microprocessor implemented method for maintaining a guest return address stack in an out-of- order microprocessor pipeline is disclosed. The method comprises mapping a plurality of instructions in a guest address space into a corresponding plurality of instructions in a native address space. For each function call instruction in the native address space fetched during execution, the method also comprises performing the following: (a) pushing a current entry into a guest return address stack (GRAS) responsive to a function call, wherein the GRAS is maintained at the fetch stage of the pipeline, and wherein the current entry comprises information regarding both a guest target return address and a corresponding native target return address associated with the function call; (b) popping the current entry from the GRAS in response to processing a return instruction; and (c) fetching instructions from the native target return address in the current entry after the popping from the GRAS.
Abstract:
A computer system includes a disk space comprising at least one type of memory and an operating system for controlling allocations and access to the disk space. A runtime machine runs applications through at least one of the operating system or directly on at least one processor of the computer system. In addition, the runtime machine manages a selected runtime disk space allocated to the runtime machine by the operating system and manages a separate method cache within the selected virtual disk space. The virtual machine controls caching within the method cache of a separate result of at least one method of the application marked as cache capable. For a next instance of the method detected by the runtime machine, the runtime machine accesses the cached separate result of the method in lieu of executing the method again.
Abstract:
The present invention relates to the implementation for implementing multi-tasking on a digital signal processor. For that purpose blocking functions are arranged such that they do not make use of a processor's hardware stack. Respective function calls are replaced with a piece of inline assembly code, which in stead performs a branch to the correct routine for carrying out said function. If a blocking condition of the blocking function is encountered, a task switch can be done to resume another task. Whilst the hardware stack is not used when a task switch might have to occur, mixed-up contents of the hardware stack among function calls performed by different tasks are avoided.
Abstract:
A processor includes a return stack circuit used for predicting procedure return addresses for instruction pre-fetching, wherein a return stack controller determines the number of return levels associated with a given return instruction, and pops that number of return addresses from the return stack. Popping multiple return addresses from the return stack permits the processor to pre-fetch the return address of the original calling procedure in a chain of successive procedure calls. In one embodiment, the return stack controller reads the number of return levels from a value embedded in the return instruction. A complementary compiler calculates the return level values for given return instructions and embeds those values in them at compile-time. In another embodiment, the return stack circuit dynamically tracks the number of return levels by counting the procedure calls (branches) in a chain of successive procedure calls.
Abstract:
Methods and apparatus to provide a modular native method invocation (NMI) system are described herein. In an example method, NMI information associated with an NMI call from one or more virtual machines is received. The NMI information is translated via an NMI adapter. To generate a native stub, the translated NMI information is provided to a modular NMI component.
Abstract:
L'invention concerne un procédé d'analyse de compatibilité entre une application Java (50) et au moins une plateforme Java (P, 20, 30, 40) comprenant l'étape consistant à identifier au moins une classe susceptible de contenir une méthode appelée par ladite application Java (50), dans lequel procédé on identifie une telle classe à l'aide d'une base de données (10) représentant au moins les classes de la plateforme (20, 30, 40) considérée, caractérisé en ce qu'on identifie par une étape de dévirtualisation appliquée sur les classes de cette base de données (10) au moins une classe susceptible de délivrer une méthode effective correspondant à la méthode appelée, le procédé consistant en outre à identifier dans la base de données une ou des plateformes portant ladite méthode effective susceptible d'être délivrée par cette classe.
Abstract:
The invention relates to a circuit comprising a first processing unit (111) for carrying out a program that includes subroutine calls, and a second processing unit (112) for performing subroutine calls. The circuit comprises a first controller (101) for controlling the first processing unit and a second controller (102) for controlling the second processing unit. The first controller sends instructions to the second controller to trigger the subroutine call.
Abstract:
The present invention relates a compiler program, a computer-readable storage medium storing such a compiler program, a compiling method and a compiling unit, and an object thereof is to automatically generate a reentrant object program. In order to accomplish this object, an address saving program generator 16a generates an address saving program for saving a data area address of a calling program module; an address setting program generator 16b generates an address setting program for setting a data area address of an other program module; a transferring program generator 16c generates a transferring program for the transfer from the calling program module to the other program module; an address resetting program generator 16d generates an address resetting program for reading and resetting the saved data area address; and an accessing program generator 16e generates an accessing program for accessing a data area for the other program module using a relative address from the set data area address.
Abstract:
A method and apparatus for hardware execution and acceleration of object-oriented instructions in object-oriented run-time systems is provided.