Abstract:
According to one general aspect, a method may include monitoring the execution of at least a portion of a software application. The method may also include collecting subroutine call information regarding a plurality of subroutine calls included by the portion of the software application, wherein one or more of the subroutine calls is selected for detailed data recording. The method may further include pruning, as the software application is being executed, a subroutine call tree to include only the subroutine calls selected for detailed data recording and one or more parent subroutine calls of each subroutine calls selected for detailed data recording.
Abstract:
The present invention is directed to a system and method for utilization of applications on a device having an embedded operating system. Typically, the applications comprise third-party applications without source code. The system and method provide for the modification of the behavior and appearance of such applications and include the functionality to capture and respond to various events occurring in the applications.
Abstract:
The invention relates to a method and apparatus for stack frame elimination for simple procedures with tail calls. Subject to certain prerequisite constraints, the invention modifies the procedure by converting all tail calls to direct branches. The code in the computer program for constructing and deconstructing the stack frame is eliminated. In a preferred embodiment of the invention, dead code elimination is performed on unreachable code. In an alternative, equally preferred embodiment, dead code is retained in the computer program.
Abstract:
Systems and methods for implementing an execution stack which stores frames for functions written in multiple programming languages are provided. The frames for functions written in different programming languages may be interleaved on the same execution stack. A data block on the execution stack may be utilized to traverse the execution stack around a frame by storing a stack pointer and frame pointer to a previous frame. Additionally, exceptions may be propagated, with conversion if necessary, through frames on the execution stack that are written in different programming languages.
Abstract:
A stack management unit for a processing system that manages multiple stacks and corresponding stack pointer data as a frame stack. The stack management unit utilizes a combination of a primary stack and a secondary stack as the frame stack. A background spill/fill detect unit determines when an overflow/underflow of the primary stack occurs. In response to an overflow/underflow condition, the background spill/fill detect unit controls the transfer of a frame portion between the primary stack and the secondary stack without halting the processing system.
Abstract:
A method of producing a computer program for a computer capable of operating in a plurality of disjoint instruction sets. The method produces a plurality of independently callable functions. For each function the method determines a target instruction set employed by the function. The method provides the function with a name corresponding to the target instruction set. The function name is preferably a modification of a user provided function name corresponding to the target instruction set. The method identifies each call of another independent function and provides each with a name corresponding to the target instruction set. The method produces a veneer function for each function and for each other instruction set. The veneer functions include changing the computer from operating in the other instruction set to operating in the target instruction set, calling the corresponding function, changing the computer to operate in the other instruction set, and a return command. Each veneer function is provided with a name corresponding to the other instruction set. Each function and its corresponding veneer functions are converted into a linkable object code module and then linked into an executable object code file of the computer program. The linker preferably omits from the executable object code file any veneer functions not called by a function.
Abstract:
A method and apparatus for accelerating the execution of an object oriented computer program having a plurality of objects. In one embodiment, each of the objects includes an object header and object data which are stored in a memory. Moreover, each of the objects is associated with a corresponding set of methods (or functions). A typical object oriented program only maintains one copy of a method which is accessed by more than one object. However, in the present invention, each method is copied and stored in a memory, such that each object has a dedicated set of methods stored in memory. For example, if a first object and a second object require access to the same method, then a first copy of this method is provided for the first object, and a second copy of this method is provided for the second object. Providing each object with a dedicated set of methods minimizes the levels of indirection required to access the methods, and thereby accelerates the execution of instructions which access the objects.
Abstract:
A data processor provided with a debug device which performs a simulation and debug on a user program for use in program development for a microcomputer which uses a stack area in order to save a program counter's value and a stack area control device which controls the stack areas in which the stack area control device comprises a using stack area control unit controlling the stack area used by an instruction including functions and interruption routines constituting the user program by use of the access mode information indicating write permit or write inhibit and a stack area access check unit detecting an abnormal access operation into the stack area on the basis of the access mode information.
Abstract:
Apparatus and a related method for managing entities in a complex and, in general, geographically distributed system, such as distributed data processing system. The management approach is defined in terms of a generalized model having management modules integrated into a single cooperative system by a management director kernel. The management modules include presentation modules to provide an interface with users who manage the complex system, access modules to provide an interface with managed entities or devices, and function modules to define various functions that may be performed in controlling or monitoring the managed entities. If the complex system being managed is large, a managed entity and an associated access module may be located on one physical system, while a presentation module is located on another physical system, close to the user, and a function module being used might be located on yet another physical system, for reasons of processing convenience. The present invention provides a convenient mechanism, consistent with the management model, for forwarding procedure calls between management modules located on different physical systems, through management director kernels located on different physical systems. Two types of remote procedure calls are disclosed, one to forward procedure calls for invoking primitive functions, each on a single managed entity, and a more powerful remote procedure call for invoking higher-level functions relating to user-defined domains of multiple managed entities.
Abstract:
A program control system in a multitask environment to execute a plurality of programs in parallel. The system includes a program execution control device for controlling an execution of a plurality of programs, a first program and a second program which are mutually related, a subtask execution recognition device for recognizing a subtask execution command in the first program, and a resumption control device for resuming the first program in response to both a wait command in the first program and an end command in the second program of the task associated with the task of the first program. When the subtask execution command is recognized by the subtask execution recognition device while the first program is being executed, the second program is also executed. When the end command in the second program is detected while the first program is in a wait state under the wait command, the resumption control means allows the program execution control means to resume the first program.