339 // If never_see_null, use an uncommon trap (*null_control sees a top). |
339 // If never_see_null, use an uncommon trap (*null_control sees a top). |
340 // The cast is not valid along the null path; keep a copy of the original. |
340 // The cast is not valid along the null path; keep a copy of the original. |
341 Node* null_check_oop(Node* value, Node* *null_control, |
341 Node* null_check_oop(Node* value, Node* *null_control, |
342 bool never_see_null = false); |
342 bool never_see_null = false); |
343 |
343 |
|
344 // Check the null_seen bit. |
|
345 bool seems_never_null(Node* obj, ciProfileData* data); |
|
346 |
|
347 // Use the type profile to narrow an object type. |
|
348 Node* maybe_cast_profiled_receiver(Node* not_null_obj, |
|
349 ciProfileData* data, |
|
350 ciKlass* require_klass); |
|
351 |
344 // Cast obj to not-null on this path |
352 // Cast obj to not-null on this path |
345 Node* cast_not_null(Node* obj, bool do_replace_in_map = true); |
353 Node* cast_not_null(Node* obj, bool do_replace_in_map = true); |
346 // Replace all occurrences of one node by another. |
354 // Replace all occurrences of one node by another. |
347 void replace_in_map(Node* old, Node* neww); |
355 void replace_in_map(Node* old, Node* neww); |
348 |
356 |