Mikhail, thanks.

Xiao-Feng,
JIT does not report objects with type of Address today, because JIT knows
them like UnmanagedPointers but not like Objects.
Address/Offset/Reference and other magics types could be enumerated only if

1) We have a field of magic type.
2) VM reports it as part of protected JNI arguments.

This is reasonable.

When I wrote helpers with magics I cared not to use any of the cases above.
In the case when I have to save an address to the field I saved its 'int'
representation.

But If we want to enable fast-path helpers on EM64T we have to support at
least case 1)
I see only one solution here: GC must care about magic types and sizes.

In GCv5 new patch submitted by YuNan, the GChelper class has an
Address field NOS_BOUNDARY. In my test, I found it's enumerated.
NOS_BOUNDARY is only a return value of a JNI method, not JNI argument.

What can be the reason for its being enumerated? Btw, I tested with today's SVN.

Thanks,
xiaofeng

--
Mikhail Fursov


Reply via email to