OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 3798 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3809 // for the element load is a naked pointer. | 3809 // for the element load is a naked pointer. |
3810 return index == 0 | 3810 return index == 0 |
3811 ? Representation::External() | 3811 ? Representation::External() |
3812 : Representation::Integer32(); | 3812 : Representation::Integer32(); |
3813 } | 3813 } |
3814 | 3814 |
3815 HValue* external_pointer() { return OperandAt(0); } | 3815 HValue* external_pointer() { return OperandAt(0); } |
3816 HValue* key() { return OperandAt(1); } | 3816 HValue* key() { return OperandAt(1); } |
3817 ElementsKind elements_kind() const { return elements_kind_; } | 3817 ElementsKind elements_kind() const { return elements_kind_; } |
3818 | 3818 |
| 3819 virtual Range* InferRange(); |
| 3820 |
3819 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedSpecializedArrayElement) | 3821 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedSpecializedArrayElement) |
3820 | 3822 |
3821 protected: | 3823 protected: |
3822 virtual bool DataEquals(HValue* other) { | 3824 virtual bool DataEquals(HValue* other) { |
3823 if (!other->IsLoadKeyedSpecializedArrayElement()) return false; | 3825 if (!other->IsLoadKeyedSpecializedArrayElement()) return false; |
3824 HLoadKeyedSpecializedArrayElement* cast_other = | 3826 HLoadKeyedSpecializedArrayElement* cast_other = |
3825 HLoadKeyedSpecializedArrayElement::cast(other); | 3827 HLoadKeyedSpecializedArrayElement::cast(other); |
3826 return elements_kind_ == cast_other->elements_kind(); | 3828 return elements_kind_ == cast_other->elements_kind(); |
3827 } | 3829 } |
3828 | 3830 |
(...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4523 | 4525 |
4524 DECLARE_CONCRETE_INSTRUCTION(In) | 4526 DECLARE_CONCRETE_INSTRUCTION(In) |
4525 }; | 4527 }; |
4526 | 4528 |
4527 #undef DECLARE_INSTRUCTION | 4529 #undef DECLARE_INSTRUCTION |
4528 #undef DECLARE_CONCRETE_INSTRUCTION | 4530 #undef DECLARE_CONCRETE_INSTRUCTION |
4529 | 4531 |
4530 } } // namespace v8::internal | 4532 } } // namespace v8::internal |
4531 | 4533 |
4532 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 4534 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |