RFR: 8139259: aarch64: jtreg test TestLogSum segvs after 8132207
Edward Nevill
edward.nevill at gmail.com
Fri Oct 9 11:17:50 UTC 2015
Hi,
Please review the following webrev
http://cr.openjdk.java.net/~enevill/8139259/webrev/
Jira issue: https://bugs.openjdk.java.net/browse/JDK-8139259
This fixes a SEGV which was introduced to the aarch64 port after the following patch
http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/rev/324ea1a2419a
The problem is that the aarch64 port ends up calling StubRoutines::_dexp when it is initialised to NULL.
The reason is the following lines
--- src/share/vm/opto/library_call.cpp ---
1764 case vmIntrinsics::_dexp:
1765 return (UseSSE >= 2) ? runtime_math(OptoRuntime::Math_D_D_Type(), StubRoutines::dexp(), "dexp") :
1766 runtime_math(OptoRuntime::Math_D_D_Type(), FN_PTR(SharedRuntime::dexp), "EXP");
--- src/share/vm/runtime/globals.hpp
702 product(intx, UseSSE, 99, \
703 "Highest supported SSE instructions set on x86/x64") \
--- src/share/vm/runtime/stubRoutines.cpp
151 address StubRoutines::_dexp = NULL;
I could fix this by forcing UseSSE to 0 in vm_version_aarch64 however there are about 20 other places in C1 and C2 shared code where UseSSE is used and I would be changing the behaviour of all of these.
So instead the patch above removes the usage of UseSSE in library_call above.
At some time all the usages of UseSSE in shared code should be reviewed.
This patch affects shared code so will need to be sponsored and pushed through JPRT
Thanks for your help,
Ed.
More information about the hotspot-compiler-dev
mailing list