32-bit support in general (was Re: assert in interpreter code on 32 bit)
david.simms at oracle.com
Mon Mar 13 08:01:36 UTC 2017
We don't actually have 32 bit support in place for the Valhalla repo
I forgot that we still had a number of "TODO later" for 32-bit support.
For example testing "hotspot_valhalla" with 32 bits results in
"ShouldNotReachHere()" in "SharedRuntime::java_calling_convention()" (at
hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp:490) is still missing
case for T_VALUETYPE. This might be trivial, but...
Am I right in thinking there were still a number of non-trivial 32
bit changes outstanding ?
Is it worth addressing these in the aging jdk9 - one year old sandbox,
or wait until we move to jdk10 ?
On 13/03/2017 7:36 a.m., David Simms wrote:
> Oops, no, I haven't seen this one...I'll take a look today.
> "ValueKlass::raw_field_copy()" - this code hasn't been pushed yet btw :-)
> But yeah, it looks like I need to re-run 32 bit testing
> /David Simms
> On 10/03/2017 6:14 p.m., Roland Westrelin wrote:
>> Running compiler/valhalla/valuetypes/ValueTypeTestBench.java with a 32
>> bit debug build, I get the following assert:
>> # Internal Error
>> pid=643, tid=644
>> # fatal error: not aligned
>> with stack:
>> V [libjvm.so+0xa36cb9] basic_fatal(char const*)+0x39
>> V [libjvm.so+0x116e0b4] ValueKlass::raw_field_copy(void*, void*,
>> unsigned int)+0xc4
>> V [libjvm.so+0x116e2f5] ValueKlass::value_store(void*, void*,
>> unsigned int, bool, bool)+0x1e5
>> V [libjvm.so+0xaed393]
>> InterpreterRuntime::value_array_store(JavaThread*, arrayOopDesc*,
>> int, void*)+0x373
>> j compiler.valhalla.valuetypes.ValueTypeTestBench.test36_verifier(Z)V+25
>> Is it a known issue?
More information about the valhalla-dev