RFR: 8230797: ARM32-softfp: assertion in InterpreterRuntime::resolve_ldc

christoph.goettschkes at microdoc.com christoph.goettschkes at microdoc.com
Wed Sep 11 09:02:31 UTC 2019


Hello,

please review the following changeset, which fixes an issue in an assert 
block inside InterpreterRuntime::resolve_ldc. Since resolve_ldc is used on 
32-bit ARM softfp platforms to resolve constants of type double, it is 
possible that the data structure which caches the resolved references is 
not initialized after a constant is resolved using 
InterpreterRuntime::resolve_ldc. In such a case, the call to 
ConstantPool::cp_to_object_index  will SIGSEGV.

I added a check in the ASSERT block, which guards the call to this 
function and tests if the data structure is initialized.
This issue is only present on platforms, which use 
InterpreterRuntime::resolve_ldc to resolve primitive types.

Without this change, no JTreg test passes (in a debug VM), because the 
tests harness itself runs into that issue and crashes. With the change 
applied, the JTreg test harness starts up again, and I executed the 
hotspot tier1 tests:

Tests that passed: 1151
Tests that failed: 18
Tests that had errors: 13

JTreg revealed some more issues with other assertions and I am going to 
look into those now. Since JTreg doesn't even start without this patch, I 
would like to submit the patch now, so others are able to execute it 
again.

Bug:
https://bugs.openjdk.java.net/browse/JDK-8230797

Webrev:
http://cr.openjdk.java.net/~bulasevich/8230797/webrev.01

Thanks,
Christoph

-------------------------------------------------------------------
Christoph Göttschkes
MicroDoc Software GmbH
Tel: +49-89-551 969 43
Mail: christoph.goettschkes at microdoc.com
-------------------------------------------------------------------
MicroDoc Software GmbH
Elektrastrasse 6A
81925 Munich, Germany
Tel: +49 89 551 969-0
Fax: +49 89 551 969-11
http://www.microdoc.com
Register Court Munich, HRB 214239
VAT ID.: DE 296 807 578
Managing Director: Hans Kamutzki
-------------------------------------------------------------------



More information about the hotspot-runtime-dev mailing list