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 5786 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5797 return HObjectAccess(kExternalMemory, 0, Representation::Tagged()); | 5797 return HObjectAccess(kExternalMemory, 0, Representation::Tagged()); |
5798 } | 5798 } |
5799 | 5799 |
5800 static HObjectAccess ForFixedArrayLength() { | 5800 static HObjectAccess ForFixedArrayLength() { |
5801 return HObjectAccess( | 5801 return HObjectAccess( |
5802 kArrayLengths, | 5802 kArrayLengths, |
5803 FixedArray::kLengthOffset, | 5803 FixedArray::kLengthOffset, |
5804 FLAG_track_fields ? Representation::Smi() : Representation::Tagged()); | 5804 FLAG_track_fields ? Representation::Smi() : Representation::Tagged()); |
5805 } | 5805 } |
5806 | 5806 |
| 5807 static HObjectAccess ForStringHashField() { |
| 5808 return HObjectAccess(kInobject, |
| 5809 String::kHashFieldOffset, |
| 5810 Representation::Integer32()); |
| 5811 } |
| 5812 |
5807 static HObjectAccess ForStringLength() { | 5813 static HObjectAccess ForStringLength() { |
5808 STATIC_ASSERT(String::kMaxLength <= Smi::kMaxValue); | 5814 STATIC_ASSERT(String::kMaxLength <= Smi::kMaxValue); |
5809 return HObjectAccess( | 5815 return HObjectAccess( |
5810 kStringLengths, | 5816 kStringLengths, |
5811 String::kLengthOffset, | 5817 String::kLengthOffset, |
5812 FLAG_track_fields ? Representation::Smi() : Representation::Tagged()); | 5818 FLAG_track_fields ? Representation::Smi() : Representation::Tagged()); |
5813 } | 5819 } |
5814 | 5820 |
| 5821 static HObjectAccess ForConsStringFirst() { |
| 5822 return HObjectAccess(kInobject, ConsString::kFirstOffset); |
| 5823 } |
| 5824 |
| 5825 static HObjectAccess ForConsStringSecond() { |
| 5826 return HObjectAccess(kInobject, ConsString::kSecondOffset); |
| 5827 } |
| 5828 |
5815 static HObjectAccess ForPropertiesPointer() { | 5829 static HObjectAccess ForPropertiesPointer() { |
5816 return HObjectAccess(kInobject, JSObject::kPropertiesOffset); | 5830 return HObjectAccess(kInobject, JSObject::kPropertiesOffset); |
5817 } | 5831 } |
5818 | 5832 |
5819 static HObjectAccess ForPrototypeOrInitialMap() { | 5833 static HObjectAccess ForPrototypeOrInitialMap() { |
5820 return HObjectAccess(kInobject, JSFunction::kPrototypeOrInitialMapOffset); | 5834 return HObjectAccess(kInobject, JSFunction::kPrototypeOrInitialMapOffset); |
5821 } | 5835 } |
5822 | 5836 |
5823 static HObjectAccess ForSharedFunctionInfoPointer() { | 5837 static HObjectAccess ForSharedFunctionInfoPointer() { |
5824 return HObjectAccess(kInobject, JSFunction::kSharedFunctionInfoOffset); | 5838 return HObjectAccess(kInobject, JSFunction::kSharedFunctionInfoOffset); |
(...skipping 27 matching lines...) Expand all Loading... |
5852 static HObjectAccess ForMap() { | 5866 static HObjectAccess ForMap() { |
5853 return HObjectAccess(kMaps, JSObject::kMapOffset); | 5867 return HObjectAccess(kMaps, JSObject::kMapOffset); |
5854 } | 5868 } |
5855 | 5869 |
5856 static HObjectAccess ForMapInstanceSize() { | 5870 static HObjectAccess ForMapInstanceSize() { |
5857 return HObjectAccess(kInobject, | 5871 return HObjectAccess(kInobject, |
5858 Map::kInstanceSizeOffset, | 5872 Map::kInstanceSizeOffset, |
5859 Representation::Byte()); | 5873 Representation::Byte()); |
5860 } | 5874 } |
5861 | 5875 |
| 5876 static HObjectAccess ForMapInstanceType() { |
| 5877 return HObjectAccess(kInobject, |
| 5878 Map::kInstanceTypeOffset, |
| 5879 Representation::Byte()); |
| 5880 } |
| 5881 |
5862 static HObjectAccess ForPropertyCellValue() { | 5882 static HObjectAccess ForPropertyCellValue() { |
5863 return HObjectAccess(kInobject, PropertyCell::kValueOffset); | 5883 return HObjectAccess(kInobject, PropertyCell::kValueOffset); |
5864 } | 5884 } |
5865 | 5885 |
5866 static HObjectAccess ForCellValue() { | 5886 static HObjectAccess ForCellValue() { |
5867 return HObjectAccess(kInobject, Cell::kValueOffset); | 5887 return HObjectAccess(kInobject, Cell::kValueOffset); |
5868 } | 5888 } |
5869 | 5889 |
5870 static HObjectAccess ForAllocationMementoSite() { | 5890 static HObjectAccess ForAllocationMementoSite() { |
5871 return HObjectAccess(kInobject, AllocationMemento::kAllocationSiteOffset); | 5891 return HObjectAccess(kInobject, AllocationMemento::kAllocationSiteOffset); |
(...skipping 1372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7244 virtual bool IsDeletable() const V8_OVERRIDE { return true; } | 7264 virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
7245 }; | 7265 }; |
7246 | 7266 |
7247 | 7267 |
7248 #undef DECLARE_INSTRUCTION | 7268 #undef DECLARE_INSTRUCTION |
7249 #undef DECLARE_CONCRETE_INSTRUCTION | 7269 #undef DECLARE_CONCRETE_INSTRUCTION |
7250 | 7270 |
7251 } } // namespace v8::internal | 7271 } } // namespace v8::internal |
7252 | 7272 |
7253 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 7273 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |