OSDN Git Service

Add a bit-map encoding of Object-reference field offsets to ClassObject.
authorBarry Hayes <bhayes@google.com>
Mon, 22 Jun 2009 18:45:20 +0000 (11:45 -0700)
committerBarry Hayes <bhayes@google.com>
Fri, 26 Jun 2009 15:45:46 +0000 (08:45 -0700)
commiteac47eddd953ca572f1c92a326b55b735b46377d
tree50bd4bb30ef40a5c2cf6483602196030f7c781bc
parentc1b54205471ea7824c87e53e0d9e6d4c30518007
Add a bit-map encoding of Object-reference field offsets to ClassObject.

Class.c populates a new field with a bit for each of the first 32 instance
fields, to show if it is a reference or not, and an escape value if there is a
reference field beyond 32.

The GC uses the encoded bitmap -- if available -- to extract Object refererences
from DataObjects.
vm/alloc/MarkSweep.c
vm/oo/Class.c
vm/oo/Object.h