RFR: 8170106: AArch64: Multiple JVMCI issues

Andrew Haley aph at redhat.com
Wed Nov 23 10:19:30 UTC 2016


On 23/11/16 10:14, Roland Schatz wrote:
>> I added one more hunk:
>> >
>> > diff --git a/src/cpu/aarch64/vm/assembler_aarch64.hpp b/src/cpu/aarch64/vm/assembler_aarch64.hpp
>> > --- a/src/cpu/aarch64/vm/assembler_aarch64.hpp
>> > +++ b/src/cpu/aarch64/vm/assembler_aarch64.hpp
>> > @@ -848,7 +848,7 @@
>> >     // architecture.  In debug mode we shrink it in order to test
>> >     // trampolines, but not so small that branches in the interpreter
>> >     // are out of range.
>> > -  static const unsigned long branch_range = NOT_DEBUG(128 * M) DEBUG_ONLY(2 * M);
>> > +  static const unsigned long branch_range = INCLUDE_JVMCI ? 128 * M : NOT_DEBUG(128 * M) DEBUG_ONLY(2 * M);
>> >
>> > because there isn't support for trampolines in Graal yet.  That will be
>> > fixed, but not today.
> That looks like it may have a sideeffect on C1/C2 compilations if JVMCI 
> is compiled in but disabled. Ideally we don't want to change the 
> behavior at all if JVMCI is disabled, and even if it's enabled, we want 
> as little changes to C1/C2 compilations as possible.

Sure.  It's a compromise.  I hope it'll be gone soon.  But it's necessary
so that Graal doesn't crash.

> How is this constant used in JVMCI compilations? Perhaps we should just 
> ignore the value selectively for JVMCI compilations.
> 
> But I'm not a C1/C2 expert, so if someone from that team thinks it's ok, 
> I'm also fine with it. It's "only" a debug change after all.

OK, thanks.

Andrew.



More information about the hotspot-compiler-dev mailing list