COMPUTER SYSTEM
First Claim
Patent Images
1. A computer system comprising:
- a plurality of threads;
a garbage collector that traces memory objects and identifies memory objects according to a three-color abstraction, the garbage collector identifying a memory object with a certain color if that memory object itself has been encountered by the garbage collector, but some of the objects to which the memory object refers have not yet been encountered; and
a packet manager accessible by the plurality of threads and the garbage collector, the packet manager operable to organize memory objects identified with the certain color into packets, provide services to obtain empty or partially full packets and obtain fill or partially full packets, and verify whether a packet of the certain color is being accessed by one of the plurality of threads of the garbage collector.
10 Assignments
0 Petitions
Accused Products
Abstract
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.
175 Citations
10 Claims
-
1. A computer system comprising:
- a plurality of threads;
a garbage collector that traces memory objects and identifies memory objects according to a three-color abstraction, the garbage collector identifying a memory object with a certain color if that memory object itself has been encountered by the garbage collector, but some of the objects to which the memory object refers have not yet been encountered; and
a packet manager accessible by the plurality of threads and the garbage collector, the packet manager operable to organize memory objects identified with the certain color into packets, provide services to obtain empty or partially full packets and obtain fill or partially full packets, and verify whether a packet of the certain color is being accessed by one of the plurality of threads of the garbage collector. - View Dependent Claims (2, 3, 4, 5)
- a plurality of threads;
-
6. A method of deleting compiled code in a self-modifying multi-threaded computer system, the method comprising:
- selecting a section of compiled code to be deleted;
identifying any patches in the section of compiled code;
redirecting any identified patches to other code; and
deleting the section of compiled code. - View Dependent Claims (7)
- selecting a section of compiled code to be deleted;
-
8. A method of deleting compiled code in a self-modifying multi-threaded computer system, the method comprising:
- selecting a code buffer to delete, the code buffer having an address;
generating a hash of the address of the code buffer;
selecting a patch block;
identifying whether there is a patch into the code buffer to be deleted;
if a patch into the code buffer is identified, redirecting the identified patch to other code; and
deleting the code buffer.
- selecting a code buffer to delete, the code buffer having an address;
-
9. A method of handling links between fragments of code in a self-modifying multi-threaded computer system, the method comprising:
- creating patches between compiled pieces of code;
storing information in a patch block about each patch as it is made, each patch block including a from address and a to address;
configuring the patch blocks in a from chain and a to chain;
selecting a code buffer to delete, the code buffer having an address;
generating a hash of the address of the code buffer;
selecting a patch block;
identifying whether there is a patch into the code buffer to be deleted;
if a patch into the code buffer is identified, redirecting the identified patch to other code;
selecting a patch from the from chain;
generating a hash of the selected patch from the from chain;
removing the patch block from the from chain; and
deleting the selected code buffer.
- creating patches between compiled pieces of code;
-
10. A system for handling patches between two pieces of code, the system comprising:
- a control device having access to glue code and at least one patch;
a deleter coupled to the control device;
an interpreter coupled to the control device;
a compiler coupled to the control device; and
a hash table coupled to the control device.
- a control device having access to glue code and at least one patch;
Specification