src/share/vm/opto/graphKit.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/opto/graphKit.hpp

src/share/vm/opto/graphKit.hpp

Print this page
rev 5100 : 8024067: Missing replace_in_map() calls following null checks
Summary: add replace_in_map() calls following some null checks in type checks
Reviewed-by:

*** 376,387 **** // Null check oop. Return null-path control into (*null_control). // Return a cast-not-null node which depends on the not-null control. // If never_see_null, use an uncommon trap (*null_control sees a top). // The cast is not valid along the null path; keep a copy of the original. Node* null_check_oop(Node* value, Node* *null_control, ! bool never_see_null = false); // Check the null_seen bit. bool seems_never_null(Node* obj, ciProfileData* data); // Use the type profile to narrow an object type. --- 376,389 ---- // Null check oop. Return null-path control into (*null_control). // Return a cast-not-null node which depends on the not-null control. // If never_see_null, use an uncommon trap (*null_control sees a top). // The cast is not valid along the null path; keep a copy of the original. + // If safe_for_replace, then we can call replace the value with the + // cast in the map (the cast is guaranteed to dominate the map) Node* null_check_oop(Node* value, Node* *null_control, ! bool never_see_null = false, bool safe_for_replace = false); // Check the null_seen bit. bool seems_never_null(Node* obj, ciProfileData* data); // Use the type profile to narrow an object type.
src/share/vm/opto/graphKit.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File