(Cat? OR feline) AND NOT dog?
Cat? W/5 behavior
(Cat? OR feline) AND traits
Cat AND charact*

This guide provides a more detailed description of the syntax that is supported along with examples.

This search box also supports the look-up of an IP.com Digital Signature (also referred to as Fingerprint); enter the 72-, 48-, or 32-character code to retrieve details of the associated file or submission.

Concept Search - What can I type?

For a concept search, you can enter phrases, sentences, or full paragraphs in English. For example, copy and paste the abstract of a patent application or paragraphs from an article.

Concept search eliminates the need for complex Boolean syntax to inform retrieval. Our Semantic Gist engine uses advanced cognitive semantic analysis to extract the meaning of data. This reduces the chances of missing valuable information, that may result from traditional keyword searching.

Publishing Venue

IBM

Abstract

Invention
Disclosed is a method for treating mark stack overflow through card dirtying in concurrent garbage collectors. This method provides a more efficient way for treating mark stack overflow, in garbage collection mechanisms that mark concurrently with the Java* motators, and use an additional data structure to tag objects which were modified during the marking phase.
Existing Garbage Collectors
The process of tracing all reachable (live) objects in the heap is a basic component of most of the existing garbage collectors. This tracing is usually done by using a mark stack, with push and pop operations. Each object, when first identified as reachable from roots or another object, is marked and pushed to the stack. It is later popped from the stack and traced. In the trace step, all objects that are referenced from this object, and are not marked yet, are marked and pushed to the mark stack. The marking of objects is done in order to ensure that an object is pushed to the mark stack only once. Marking is done either by using a dedicated data field in the object, or by maintaining a separate bit-per-possible-object-slot vector, called the markbits vector. The collection may be done by several threads, each using a private mark stack. Two or more threads may reach the same object simultaneously (if this object is referenced from many objects). The (exclusive) pushing of this unmarked object is done by the thread that wins the race of marking the object. These marking data structures are common, and the race is usually handled by using synchronized operations, such as compare-and-swap (C&S).

Country

United States

Language

English (United States)

This text was extracted from a PDF file.

This is the abbreviated version, containing approximately
52% of the total text.

Disclosed is a method for treating mark stack overflow through card dirtying in concurrent garbage collectors. This method provides a more efficient way for treating mark stack overflow, in garbage collection mechanisms that mark concurrently with the Java* motators, and use an additional data structure to tag objects which were modified during the marking phase.

Existing Garbage Collectors

The process of tracing all reachable (live) objects in the heap is a basic component of most of the existing garbage collectors. This tracing is usually done by using a mark stack, with push and pop operations. Each object, when first identified as reachable from roots or another object, is marked and pushed to the stack. It is later popped from the stack and traced. In the trace step, all objects that are referenced from this object, and are not marked yet, are marked and pushed to the mark stack. The marking of objects is done in order to ensure that an object is pushed to the mark stack only once. Marking is done either by using a dedicated data field in the object, or by maintaining a separate bit-per-possible-object-slot vector, called the markbits vector. The collection may be done by several threads, each using a private mark stack. Two or more threads may reach the same object simultaneously (if this object is referenced from many objects). The (exclusive) pushing of this unmarked object is done by the thread that wins the race of marking the object. These marking data structures are common, and the race is usually handled by using synchronized operations, such as compare-and-swap (C&S).

The collection may be done when the execution of the application is suspended (Stop the World collection, or STW), or concurrently with the execution of the application (concurrent collection), or mostly concurrently with the application execution, with the final (shorter) part performed when the application is suspended (mostly concurrent collection).

Concurrent and mostly concurrent collections need to know about any changes of reference that the application makes in objects, in order to retrace such objects. This is handled by making the application perform a Write Barrier with every reference change. The Write Barrier dirties the card of the object whose reference was changed. The dirtying is done by marking this card as dirty, usually in a separa...