摘要:
A method and a system of cache management using spatial separation of outliers. The system includes a dynamic compiler arranged to create compiled fragments of code having dominant code blocks and outliers. Memory coupled to the dynamic compiler is managed by a compiler manager such that dominant code blocks are stored in one portion of the memory and the outliers are stored in another portion of the memory. Storing the dominant path code separate from the outliers increases efficiency of the system.
摘要:
A computer system which includes a plurality of threads and a garbage collector that traces memory objects and identifies memory objects according to a three-color abstraction. The computer system also includes two methods of deleting compiled code in a self-modifying multi-threaded computer system. The computer system also utilizes a method of handling links between fragments of code in a self-modifying multi-threaded computer system. The computer system also handles patches between two pieces of code.
摘要:
A computer system which includes a plurality of threads and a garbage collector that traces memory objects and identifies memory objects according to a three-color abstraction. The computer system also includes two methods of deleting compiled code in a self-modifying multi-threaded computer system. The computer system also utilizes a method of handling links between fragments of code in a self-modifying multi-threaded computer system. The computer system also handles patches between two pieces of code.
摘要:
A computer system which includes a plurality of threads and a garbage collector that traces memory objects and identifies memory objects according to a three-color abstraction. The computer system also includes two methods of deleting compiled code in a self-modifying multi-threaded computer system. The computer system also utilizes a method of handling links between fragments of code in a self-modifying multi-threaded computer system. The computer system also handles patches between two pieces of code.
摘要:
A method and system multi-threaded fragment patching. The method provides a link in a self-modifying multi-threaded computer system between a first and a second piece of compiled code where the first piece of compiled code includes a control transfer instruction to the second piece of compiled code. The link is formed by inserting a patch from the first piece of compiled code to the second piece of compiled code. The patch may be a direct reference or a reference to an outlier.
摘要:
A system and method of direct invocation of Methods using class loaders. The method includes compiling a call to and a Method of a first class (assuming that the Method is final), determining whether the second class includes an instance of the Method of the first class, determining whether the instance of the Method of the second class overrides the Method of the first class, and altering the compiled code of the Method of the first class if the instance of the Method of the second class overrides the Method of the first class.
摘要:
A method and structure for reducing search times. The method includes examining the entries in a list in turn beginning with the entry pointed to by a start pointer and continuing until the particular entry is found. The start pointer is then reset to point at the particular entry that was found. The next search will therefore begin to search at the location where the last search ended. Such a strategy increases the likelihood of locating the particular entry faster. The list of entries includes next entry pointers that point to another entry in the list such that the next entry pointers together form a closed loop. If the entire list is searched and the particular entry is not found, the search is aborted.
摘要:
A dynamic compiler and method of compiling code to generate a dominate path and handle exceptions. The dynamic compiler includes an execution history recorder that is configured to record the number of times a fragment of code is interpreted. When the code is interpreted a threshold number of times, the code is queued for compilation. The execution history recorder also keeps track of where transfer of control came from and where transfer of control goes to for each fragment of code that is executed, thereby allowing for compilation of a dominant path of code. If the execution of code deviates from the dominant path of compiled code (such as when an exception occurs), a fallback interpreter is utilized to interpret the fragment of code to be executed.
摘要:
A method and a system of memory management using stack walking. The method of managing memory in a computer system includes identifying compiled code to be deleted, examining the return addresses of the frames in the stack, determining whether any of the return address of the frames are in the range of addresses of the compiled code to be deleted, and if they are, then altering the contents of the frame determined to have a return address in the range of addresses of the compiled code to be deleted.
摘要:
A hash table dispatch mechanism for interface Methods. The mechanism reduces dispatch times during the execution of an object-oriented language program. An interface hash table having a pointer as an index for either a specific location in a corresponding dispatch table or an interface Method of the program is created for a dispatch table. The interface hash table has an address and a plurality of slots having a hash value related to an interface Method. The mechanism includes a recovery Method for resolving conflicts when two or more slots in the interface hash table contain clashing values.