Mercurial > hg > truffle
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. |