32-bit support in general (was Re: assert in interpreter code on 32 bit)

David Simms david.simms at oracle.com
Mon Mar 13 08:01:36 UTC 2017


Hey all,

We don't actually have 32 bit support in place for the Valhalla repo 
just yet...

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...

Frederic:

     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 ?

/David


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
>
>
> Cheers
>
> /David Simms
>
>
> On 10/03/2017 6:14 p.m., Roland Westrelin wrote:
>> Hi,
>>
>> Running compiler/valhalla/valuetypes/ValueTypeTestBench.java with a 32
>> bit debug build, I get the following assert:
>>
>> #  Internal Error 
>> (/home/rwestrel/valhalla/hotspot/src/share/vm/utilities/globalDefinitions.cpp:53), 
>> 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?
>>
>> Roland.
>



More information about the valhalla-dev mailing list