The present invention is a method and system of automatic memory
management (garbage collection). An application automatically marks up
objects referenced from the "extended root set". At garbage collection,
the system starts traversal from the marked-up objects. It can conduct
accurate garbage collection in a non-GC language, such as C++. It
provides a deterministic reclamation feature. An object and its resources
are released immediately when the last reference is dropped. Application
codes automatically become entirely GC-safe and interruptible. A
concurrent collector can be pause-less and with predictable worst-case
latency of micro-second level. Memory usage is efficient and the cost of
reference counting is significantly reduced.