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