RFR (S): 8024067: Missing replace_in_map() calls following null checks
Roland Westrelin
roland.westrelin at oracle.com
Tue Sep 3 13:48:03 PDT 2013
> Why you need this when null_check_common() does this already?
GraphKit::null_check_oop() sets (*null_control) = top()
then GraphKit::null_check_common() does:
if (null_control != NULL) {
(*null_control) = null_true;
so (*null_control) is no longer top and:
if (null_control == NULL || (*null_control) == top())
replace_in_map(value, cast);
doesn't help. Back in GraphKit::null_check_oop():
if (never_see_null && (*null_control) != top()) {
is where the uncommon trap is added and (*null_control) = top() is set back to top and nothing does the replace_in_map.
Roland.
More information about the hotspot-compiler-dev
mailing list