Patent ID: 7197521
Filing Date: 2007-03-27
Classification: G06F,Y10S

Abstract:
1. A method for performing concurrent mark-sweep garbage collection, comprising: receiving an application, the application including a software application to run concurrently with mark-sweep garbage collection; executing the application in at least one thread, the application using space in a heap while being executed; determining if available space in the heap falls below a threshold; performing mark-sweep garbage collection, concurrently while executing the application, in a heap block of the heap using a first bit vector, a second bit vector, a mark bit vector pointer, and a sweep bit vector pointer in the heap block, if the available space falls below the threshold; and otherwise, continuing executing the application and monitoring if the available space in the heap falls below the threshold, until the execution of the application is complete; wherein performing mark-sweep garbage collection includes invoking at least one garbage collection thread to trace and mark live objects in the heap block concurrently while executing the application; and wherein the mark bit vector pointer initially points to the first bit vector, the sweep bit vector pointer initially points to the second bit vector, and the first bit vector and the second bit vector are toggled with each other after a marking phase of the mark-sweep garbage collection completes.