comparison src/share/vm/opto/graphKit.hpp @ 12869:d9043b88eeb3

8024067: Missing replace_in_map() calls following null checks Summary: add replace_in_map() calls following some null checks in type checks Reviewed-by: kvn
author roland
date Thu, 03 Oct 2013 10:55:07 +0200
parents edb5ab0f3fe5
children b2ee5dc63353
comparison
equal deleted inserted replaced
12868:c775af091fe9 12869:d9043b88eeb3
376 376
377 // Null check oop. Return null-path control into (*null_control). 377 // Null check oop. Return null-path control into (*null_control).
378 // Return a cast-not-null node which depends on the not-null control. 378 // Return a cast-not-null node which depends on the not-null control.
379 // If never_see_null, use an uncommon trap (*null_control sees a top). 379 // If never_see_null, use an uncommon trap (*null_control sees a top).
380 // The cast is not valid along the null path; keep a copy of the original. 380 // The cast is not valid along the null path; keep a copy of the original.
381 // If safe_for_replace, then we can replace the value with the cast
382 // in the parsing map (the cast is guaranteed to dominate the map)
381 Node* null_check_oop(Node* value, Node* *null_control, 383 Node* null_check_oop(Node* value, Node* *null_control,
382 bool never_see_null = false); 384 bool never_see_null = false, bool safe_for_replace = false);
383 385
384 // Check the null_seen bit. 386 // Check the null_seen bit.
385 bool seems_never_null(Node* obj, ciProfileData* data); 387 bool seems_never_null(Node* obj, ciProfileData* data);
386 388
387 // Use the type profile to narrow an object type. 389 // Use the type profile to narrow an object type.