Please review fix for 6716785: implicit null checks not triggering with CompressedOops
Vladimir Kozlov
Vladimir.Kozlov at Sun.COM
Thu Jul 17 11:38:13 PDT 2008
Coleen Phillimore - Sun Microsystems wrote:
>
>
> Vladimir Kozlov wrote:
>> Coleen,
>>
>> Why you added os::is_implicit_NPE() method?
>>
>> All MacroAssembler::needs_explicit_null_check() methods
>> have the code for compressed oops implicit NPE.
> Oh, now I see that. You must have added it. It's not in sparc versions
> though (and I can't figure out why we have so many variants of the same
> function!).
On sparc we don't have implicit NPE for compressed oops since
there is no an addressing mode with compressed oop.
On x86 it use (r12 + r*8 + offset), on sparc you can not do this.
This is why we safe on sparc now with COOP.
>>
>> Also you removed _heap_base setting in universe.cpp.
>> Where it is set now?
> It's set in protect_noaccess_prefix in virtualspace.cpp
I see. OK.
Thanks,
Vladimir
>
> Coleen
>>
>> Thanks,
>> Vladimir
>>
>> Coleen Phillimore - Sun Microsystems wrote:
>>>
>>> 6716785: implicit null checks not triggering with CompressedOops
>>> Summary: allocate alignment-sized page(s) below java heap so that
>>> memory accesses at heap_base+1page give signal and cause an implicit
>>> null check
>>> Reviewed-by:
>>>
>>> Webrev:
>>> http://webrev.invokedynamic.info/coleenp/6716785/
>>>
>>> Note in this webrev, the change in arguments.cpp to enable
>>> UseCompressedOops by default will be reverted for checking into HS13
>>> (it's still off by default) for 6u6p. Should I enable it in our HS14
>>> source base?
>>>
>>> Thanks!
>>> Coleen
More information about the hotspot-runtime-dev
mailing list