aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen/arm/CodegenDriver.c
diff options
context:
space:
mode:
authorCarl Shapiro <cshapiro@google.com>2010-07-09 16:50:54 -0700
committerCarl Shapiro <cshapiro@google.com>2010-07-09 17:23:20 -0700
commit2a6f4846b2a9e252c914e5103270fc86cc786859 (patch)
tree92d13679980c7667d86e595a9dc7e3bba98bc6db /vm/compiler/codegen/arm/CodegenDriver.c
parent0f9a5b33386e1cd6c96b85bb25ac85208fe4a77f (diff)
Use the new pendingNext field to thread pending references.
Presently, the garbage collector uses the queueNext field to thread references discovered during a trace. This is unsafe as a user may simultaniously call enqueue on a discovered reference which will alias the queue of pending references to the queue of a reference queue. To avoid this problem, the garbage collector uses the pendingNext field to thread together pending references. If, during reference processing, the garbage collector discovers that an object has been enqueued by the user, it will short circuit referencing processing for that object. As part of this change, the the reference object processing routines have been reorganized to eliminate the macrology used by the pending reference queueing. In addition, the pending reference lists are now circular to ensure pendingNext of a pending reference is never NULL. Change-Id: Id855aa295dd835eacc8d5e765f4edbb869c104b7
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenDriver.c')
0 files changed, 0 insertions, 0 deletions