comparison src/share/vm/opto/graphKit.hpp @ 1746:4b29a725c43c

6912064: type profiles need to be exploited more for dynamic language support Reviewed-by: kvn
author jrose
date Fri, 20 Aug 2010 23:40:30 -0700
parents c18cbe5936b8
children f95d63e2154a
comparison
equal deleted inserted replaced
1730:f55c4f82ab9d 1746:4b29a725c43c
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