RFR(S): 8154836: VM crash due to "Base pointers must match"
Doerr, Martin
martin.doerr at sap.com
Wed Apr 27 08:46:46 UTC 2016
Hi Zoltan,
I will comment on the skipping the transformation on non-x86 platforms in 8154826 and include Roland who is changing final graph reshaping of the AddP nodes.
Best regards,
Martin
-----Original Message-----
From: Zoltán Majó [mailto:zoltan.majo at oracle.com]
Sent: Mittwoch, 27. April 2016 10:31
To: Vladimir Kozlov <vladimir.kozlov at oracle.com>; Doerr, Martin <martin.doerr at sap.com>; hotspot-compiler-dev at openjdk.java.net compiler <hotspot-compiler-dev at openjdk.java.net>
Subject: Re: RFR(S): 8154836: VM crash due to "Base pointers must match"
Hi Martin,
thank you for fixing this problem! The fix looks good to me as well, I
have only one minor comment (please see inline).
On 04/27/2016 03:47 AM, Vladimir Kozlov wrote:
> [...]
>
>>
>> I made an additional change: I think the graph transformation doesn't
>> make sense if decoding is expensive.
>> Therefore, I skip it on non-X86 platforms when we're running in heap
>> based compressed oops mode.
>> (I believe X86 is the only platform which can match the decoding in
>> the operand in this case.)
>
> It is not related to the fix and should be done separately. Or don't
> do at all.
> There is comment above the code which explains why it could beneficial
> on SPARC too:
>
> 2845 // On sparc loading 32-bits constant and decoding it have less
> 2846 // instructions (4) then load 64-bits constant (7).
If you decide to fix this, the condition
2856 if ((op == Op_ConN && Universe::narrow_oop_shift() != 0) ||
2857 (op == Op_ConNKlass && Universe::narrow_klass_shift() != 0)) {
seems better than
2856 if ((op == Op_ConN && Universe::narrow_oop_base() != NULL) ||
2857 (op == Op_ConNKlass && Universe::narrow_klass_base() != NULL)) {
for two reasons:- on non-x86 platforms matching is guarded by 'narrow.*shift' methods -
if the heap is between 4GB and 32GB, 'narrow.*base' is NULL and
'narrow.*shift' != 0 therefore the instructions are not emitted.
Please correct me if I'm wrong.
> [...]
>> Please review. I will also need a sponsor, please.
I'd be happy to sponsor the change.
Thank you!
Best regards,
Zoltan
>>
>> Best regards,
>> Martin
>>
>>
More information about the hotspot-compiler-dev
mailing list