< prev index next >

src/share/vm/c1/c1_Instruction.hpp

Print this page

        

*** 910,936 **** BASE(AccessIndexed, AccessArray) private: Value _index; Value _length; BasicType _elt_type; public: // creation ! AccessIndexed(Value array, Value index, Value length, BasicType elt_type, ValueStack* state_before) : AccessArray(as_ValueType(elt_type), array, state_before) , _index(index) , _length(length) , _elt_type(elt_type) { set_flag(Instruction::NeedsRangeCheckFlag, true); ASSERT_VALUES } // accessors Value index() const { return _index; } Value length() const { return _length; } BasicType elt_type() const { return _elt_type; } void clear_length() { _length = NULL; } // perform elimination of range checks involving constants bool compute_needs_range_check(); --- 910,939 ---- BASE(AccessIndexed, AccessArray) private: Value _index; Value _length; BasicType _elt_type; + bool _mismatched; public: // creation ! AccessIndexed(Value array, Value index, Value length, BasicType elt_type, ValueStack* state_before, bool mismatched) : AccessArray(as_ValueType(elt_type), array, state_before) , _index(index) , _length(length) , _elt_type(elt_type) + , _mismatched(mismatched) { set_flag(Instruction::NeedsRangeCheckFlag, true); ASSERT_VALUES } // accessors Value index() const { return _index; } Value length() const { return _length; } BasicType elt_type() const { return _elt_type; } + bool mismatched() const { return _mismatched; } void clear_length() { _length = NULL; } // perform elimination of range checks involving constants bool compute_needs_range_check();
*** 943,954 **** private: NullCheck* _explicit_null_check; // For explicit null check elimination public: // creation ! LoadIndexed(Value array, Value index, Value length, BasicType elt_type, ValueStack* state_before) ! : AccessIndexed(array, index, length, elt_type, state_before) , _explicit_null_check(NULL) {} // accessors NullCheck* explicit_null_check() const { return _explicit_null_check; } --- 946,957 ---- private: NullCheck* _explicit_null_check; // For explicit null check elimination public: // creation ! LoadIndexed(Value array, Value index, Value length, BasicType elt_type, ValueStack* state_before, bool mismatched = false) ! : AccessIndexed(array, index, length, elt_type, state_before, mismatched) , _explicit_null_check(NULL) {} // accessors NullCheck* explicit_null_check() const { return _explicit_null_check; }
*** 972,983 **** int _profiled_bci; bool _check_boolean; public: // creation ! StoreIndexed(Value array, Value index, Value length, BasicType elt_type, Value value, ValueStack* state_before, bool check_boolean) ! : AccessIndexed(array, index, length, elt_type, state_before) , _value(value), _profiled_method(NULL), _profiled_bci(0), _check_boolean(check_boolean) { set_flag(NeedsWriteBarrierFlag, (as_ValueType(elt_type)->is_object())); set_flag(NeedsStoreCheckFlag, (as_ValueType(elt_type)->is_object())); ASSERT_VALUES --- 975,987 ---- int _profiled_bci; bool _check_boolean; public: // creation ! StoreIndexed(Value array, Value index, Value length, BasicType elt_type, Value value, ValueStack* state_before, ! bool check_boolean, bool mismatched = false) ! : AccessIndexed(array, index, length, elt_type, state_before, mismatched) , _value(value), _profiled_method(NULL), _profiled_bci(0), _check_boolean(check_boolean) { set_flag(NeedsWriteBarrierFlag, (as_ValueType(elt_type)->is_object())); set_flag(NeedsStoreCheckFlag, (as_ValueType(elt_type)->is_object())); ASSERT_VALUES
< prev index next >