RFR: 8170106: AArch64: Multiple JVMCI issues
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.
More information about the hotspot-compiler-dev