Request for reviews (S): 6834177: Running jsynprog on Solaris Nevada can cause JVM crash
Vladimir.Kozlov at Sun.COM
Mon Apr 27 14:40:17 PDT 2009
Fixed 6834177: Running jsynprog on Solaris Nevada can cause JVM crash
The code which generates a native call wrapper and a dtrace nmethod
uses VM's static buffer AdapterHandlerLibrary::_buffer for the code
generation before moving it into CodeCache.
During the code generation in the static buffer a runtime call distance
is < 32 bits and the short form of a call instruction is generated.
It may cause problem for 64-bit VM when the relative call distance
to runtime from these methods may not fit into 32-bit if address
distance between CodeCache and VM's code > 32 bits.
Use CodeCache buffer blob for the native wrapper and dtrace nmethod
code generation. Also throw an exception in dtrace runtime if nmethod
was not generated.
Note: it is ok to use the static buffer for i2c and c2i adapters since
they don't have calls to runtime.
Fix verified (y/n): y, bugs case
More information about the hotspot-compiler-dev