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 6566 : 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