harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiao-Feng Li" <xiaofeng...@gmail.com>
Subject Re: [DRLVM][enumeration and helper inlining] magic Address fields should not be enumerated
Date Thu, 25 Jan 2007 10:19:04 GMT
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
>
>

Mime
View raw message