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 6807 : 7173584: Implement arraycopy as a macro node
Summary: delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by:

*** 827,847 **** // Generate a check-cast idiom. Used by both the check-cast bytecode // and the array-store bytecode Node* gen_checkcast( Node *subobj, Node* superkls, Node* *failure_control = NULL ); ! // Generate a subtyping check. Takes as input the subtype and supertype. ! // Returns 2 values: sets the default control() to the true path and ! // returns the false path. Only reads from constant memory taken from the ! // default memory; does not write anything. It also doesn't take in an ! // Object; if you wish to check an Object you need to load the Object's ! // class prior to coming here. ! Node* gen_subtype_check(Node* subklass, Node* superklass); ! ! // Static parse-time type checking logic for gen_subtype_check: ! enum { SSC_always_false, SSC_always_true, SSC_easy_test, SSC_full_test }; ! int static_subtype_check(ciKlass* superk, ciKlass* subk); // Exact type check used for predicted calls and casts. // Rewrites (*casted_receiver) to be casted to the stronger type. // (Caller is responsible for doing replace_in_map.) Node* type_check_receiver(Node* receiver, ciKlass* klass, float prob, --- 827,843 ---- // Generate a check-cast idiom. Used by both the check-cast bytecode // and the array-store bytecode Node* gen_checkcast( Node *subobj, Node* superkls, Node* *failure_control = NULL ); ! Node* gen_subtype_check(Node* subklass, Node* superklass) { ! MergeMemNode* mem = merged_memory(); ! Node* ctrl = control(); ! Node* n = Phase::gen_subtype_check(subklass, superklass, &ctrl, mem, &_gvn); ! set_control(ctrl); ! return n; ! } // Exact type check used for predicted calls and casts. // Rewrites (*casted_receiver) to be casted to the stronger type. // (Caller is responsible for doing replace_in_map.) Node* type_check_receiver(Node* receiver, ciKlass* klass, float prob,
src/share/vm/opto/graphKit.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File