[9] RFR(S): JDK-8036898: assert(t != NULL) failed: must set before get

Tobias Hartmann Tobias.Hartmann at oracle.com
Wed Apr 9 08:22:28 UTC 2014


Hi,

please review the following patch for bug 8036898.
*
Problem:*
The method java.lang.ref.reference::get() is treated specially in 
Compile::Compile (line 751) to make sure that always the intrinsic is 
used if the G1 garbage collector is enabled. Because the parser is not 
used for get(), the type of the root node is not initialized in 
Parse::Parse() (line 539). During optimization, 
Compile::remove_speculative_types() executes igvn.type(n) on the root 
node n (line 3965). The assert (t != NULL) fails because the type is not 
set.
Bug: https://bugs.openjdk.java.net/browse/JDK-8036898

*Solution:*
Ignore nodes without a type when checking for speculative types.
Webrev: http://cr.openjdk.java.net/~anoll/8036898/webrev.00/ 
<http://cr.openjdk.java.net/%7Eanoll/8036898/webrev.00/>

*Tests:*
JPRT

Thanks,

Tobias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20140409/022b4ff2/attachment.html>


More information about the hotspot-compiler-dev mailing list