OLD | NEW |
---|---|
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_HYDROGEN_INSTRUCTIONS_H_ | 5 #ifndef V8_HYDROGEN_INSTRUCTIONS_H_ |
6 #define V8_HYDROGEN_INSTRUCTIONS_H_ | 6 #define V8_HYDROGEN_INSTRUCTIONS_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 6073 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6084 Representation::UInteger8()); | 6084 Representation::UInteger8()); |
6085 } | 6085 } |
6086 | 6086 |
6087 static HObjectAccess ForNameHashField() { | 6087 static HObjectAccess ForNameHashField() { |
6088 return HObjectAccess(kInobject, | 6088 return HObjectAccess(kInobject, |
6089 Name::kHashFieldOffset, | 6089 Name::kHashFieldOffset, |
6090 Representation::Integer32()); | 6090 Representation::Integer32()); |
6091 } | 6091 } |
6092 | 6092 |
6093 static HObjectAccess ForMapInstanceTypeAndBitField() { | 6093 static HObjectAccess ForMapInstanceTypeAndBitField() { |
6094 #if V8_TARGET_LITTLE_ENDIAN | |
6094 STATIC_ASSERT((Map::kInstanceTypeOffset & 1) == 0); | 6095 STATIC_ASSERT((Map::kInstanceTypeOffset & 1) == 0); |
6095 STATIC_ASSERT(Map::kBitFieldOffset == Map::kInstanceTypeOffset + 1); | 6096 STATIC_ASSERT(Map::kBitFieldOffset == Map::kInstanceTypeOffset + 1); |
6096 return HObjectAccess(kInobject, | 6097 return HObjectAccess(kInobject, |
6097 Map::kInstanceTypeOffset, | 6098 Map::kInstanceTypeOffset, |
Toon Verwaest
2014/06/17 16:50:01
Can we use Map::kInstanceTypeAndBitFieldOffset and
danno
2014/06/18 11:18:41
+1 to Toon's comment
Paul Lind
2014/06/19 07:31:22
Nice suggestion, Toon, it makes it cleaner, and en
| |
6098 Representation::UInteger16()); | 6099 Representation::UInteger16()); |
6100 #else | |
6101 STATIC_ASSERT((Map::kBitFieldOffset & 1) == 0); | |
6102 STATIC_ASSERT(Map::kInstanceTypeOffset == Map::kBitFieldOffset + 1); | |
6103 return HObjectAccess(kInobject, | |
6104 Map::kBitFieldOffset, | |
6105 Representation::UInteger16()); | |
6106 #endif | |
6099 } | 6107 } |
6100 | 6108 |
6101 static HObjectAccess ForPropertyCellValue() { | 6109 static HObjectAccess ForPropertyCellValue() { |
6102 return HObjectAccess(kInobject, PropertyCell::kValueOffset); | 6110 return HObjectAccess(kInobject, PropertyCell::kValueOffset); |
6103 } | 6111 } |
6104 | 6112 |
6105 static HObjectAccess ForCellValue() { | 6113 static HObjectAccess ForCellValue() { |
6106 return HObjectAccess(kInobject, Cell::kValueOffset); | 6114 return HObjectAccess(kInobject, Cell::kValueOffset); |
6107 } | 6115 } |
6108 | 6116 |
(...skipping 1693 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
7802 }; | 7810 }; |
7803 | 7811 |
7804 | 7812 |
7805 | 7813 |
7806 #undef DECLARE_INSTRUCTION | 7814 #undef DECLARE_INSTRUCTION |
7807 #undef DECLARE_CONCRETE_INSTRUCTION | 7815 #undef DECLARE_CONCRETE_INSTRUCTION |
7808 | 7816 |
7809 } } // namespace v8::internal | 7817 } } // namespace v8::internal |
7810 | 7818 |
7811 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 7819 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |