Hi, The current root set enumeration code has no special treatment with magic Address fields. They are taken as normal object reference fields. This is incorrect since their values are memory addresses that are not necessarily pointing to objects. Actually we probably need to keep the contract the Address field should never contain an object reference, so to skip them in enumeration doesn't miss any live objects. (They can contain an address that happens to be an object reference, but this object reference is enumerable from other roots or object fields.)
Do you agree with this contract and should we modify the root set enumeration code to skip Address fields? Thanks, xiaofeng
