Request for review(XL): 6985015: C1 needs to support compressed oops

Igor Veresov igor.veresov at oracle.com
Fri Nov 19 17:32:23 PST 2010


On 11/19/10 4:37 PM, John Coomes wrote:
> Igor Veresov (igor.veresov at oracle.com) wrote:
>> On 11/19/10 2:26 PM, Igor Veresov wrote:
>>
>>>
>>>> src/cpu/x86/vm/c1_LIRGenerator_x86.cpp:
>>>>
>>>> 1143 if (!x->klass()->is_loaded() || LP64_ONLY(UseCompressedOops)
>>>> NOT_LP64(false)) {
>>>> 1165 if (!x->klass()->is_loaded() || LP64_ONLY(UseCompressedOops)
>>>> NOT_LP64(false)) {
>>>> I think the common pattern is LP64_ONLY(|| UseCompressedOops).
>>>
>>> It is, but do you think it would be more readable to factor this
>>> predicate to separate function. It just determines if we need an extra
>>> temporary. I'd rather leave it as is.
>>>
>>
>> Sorry, I didn't get what you meant at first. Ramki explained it to me.
>> Thanks, I'll fix that.
>
> BTW, why do you need/want to guard UseCompressedOops with LP64_ONLY()?
> UseCompressedOops is constant false in 32-bit.
>

Hm, good question. It's actually a common pattern with compressed oops. 
The only reason I can see is to make the jvmg version a bit faster. But 
I would like not to do the global ifdef removal with this change, it's 
already big enough.

igor


More information about the hotspot-compiler-dev mailing list