| 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 <iosfwd> | 8 #include <iosfwd> |
| 9 | 9 |
| 10 #include "src/v8.h" | 10 #include "src/v8.h" |
| (...skipping 6338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6349 return HObjectAccess(kInobject, CollectionType::kNumberOfBucketsOffset, | 6349 return HObjectAccess(kInobject, CollectionType::kNumberOfBucketsOffset, |
| 6350 Representation::Smi()); | 6350 Representation::Smi()); |
| 6351 } | 6351 } |
| 6352 | 6352 |
| 6353 template <typename CollectionType> | 6353 template <typename CollectionType> |
| 6354 static HObjectAccess ForOrderedHashTableNumberOfElements() { | 6354 static HObjectAccess ForOrderedHashTableNumberOfElements() { |
| 6355 return HObjectAccess(kInobject, CollectionType::kNumberOfElementsOffset, | 6355 return HObjectAccess(kInobject, CollectionType::kNumberOfElementsOffset, |
| 6356 Representation::Smi()); | 6356 Representation::Smi()); |
| 6357 } | 6357 } |
| 6358 | 6358 |
| 6359 template <typename CollectionType> | |
| 6360 static HObjectAccess ForOrderedHashTableNumberOfDeletedElements() { | |
| 6361 return HObjectAccess(kInobject, | |
| 6362 CollectionType::kNumberOfDeletedElementsOffset, | |
| 6363 Representation::Smi()); | |
| 6364 } | |
| 6365 | |
| 6366 inline bool Equals(HObjectAccess that) const { | 6359 inline bool Equals(HObjectAccess that) const { |
| 6367 return value_ == that.value_; // portion and offset must match | 6360 return value_ == that.value_; // portion and offset must match |
| 6368 } | 6361 } |
| 6369 | 6362 |
| 6370 protected: | 6363 protected: |
| 6371 void SetGVNFlags(HValue *instr, PropertyAccessType access_type); | 6364 void SetGVNFlags(HValue *instr, PropertyAccessType access_type); |
| 6372 | 6365 |
| 6373 private: | 6366 private: |
| 6374 // internal use only; different parts of an object or array | 6367 // internal use only; different parts of an object or array |
| 6375 enum Portion { | 6368 enum Portion { |
| (...skipping 1627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8003 }; | 7996 }; |
| 8004 | 7997 |
| 8005 | 7998 |
| 8006 | 7999 |
| 8007 #undef DECLARE_INSTRUCTION | 8000 #undef DECLARE_INSTRUCTION |
| 8008 #undef DECLARE_CONCRETE_INSTRUCTION | 8001 #undef DECLARE_CONCRETE_INSTRUCTION |
| 8009 | 8002 |
| 8010 } } // namespace v8::internal | 8003 } } // namespace v8::internal |
| 8011 | 8004 |
| 8012 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 8005 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
| OLD | NEW |