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 5790 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5801 return HObjectAccess(kExternalMemory, 0, Representation::Tagged()); | 5801 return HObjectAccess(kExternalMemory, 0, Representation::Tagged()); |
5802 } | 5802 } |
5803 | 5803 |
5804 static HObjectAccess ForFixedArrayLength() { | 5804 static HObjectAccess ForFixedArrayLength() { |
5805 return HObjectAccess( | 5805 return HObjectAccess( |
5806 kArrayLengths, | 5806 kArrayLengths, |
5807 FixedArray::kLengthOffset, | 5807 FixedArray::kLengthOffset, |
5808 FLAG_track_fields ? Representation::Smi() : Representation::Tagged()); | 5808 FLAG_track_fields ? Representation::Smi() : Representation::Tagged()); |
5809 } | 5809 } |
5810 | 5810 |
| 5811 static HObjectAccess ForStringHashField() { |
| 5812 return HObjectAccess(kInobject, |
| 5813 String::kHashFieldOffset, |
| 5814 Representation::Integer32()); |
| 5815 } |
| 5816 |
5811 static HObjectAccess ForStringLength() { | 5817 static HObjectAccess ForStringLength() { |
5812 STATIC_ASSERT(String::kMaxLength <= Smi::kMaxValue); | 5818 STATIC_ASSERT(String::kMaxLength <= Smi::kMaxValue); |
5813 return HObjectAccess( | 5819 return HObjectAccess( |
5814 kStringLengths, | 5820 kStringLengths, |
5815 String::kLengthOffset, | 5821 String::kLengthOffset, |
5816 FLAG_track_fields ? Representation::Smi() : Representation::Tagged()); | 5822 FLAG_track_fields ? Representation::Smi() : Representation::Tagged()); |
5817 } | 5823 } |
5818 | 5824 |
| 5825 static HObjectAccess ForConsStringFirst() { |
| 5826 return HObjectAccess(kInobject, ConsString::kFirstOffset); |
| 5827 } |
| 5828 |
| 5829 static HObjectAccess ForConsStringSecond() { |
| 5830 return HObjectAccess(kInobject, ConsString::kSecondOffset); |
| 5831 } |
| 5832 |
5819 static HObjectAccess ForPropertiesPointer() { | 5833 static HObjectAccess ForPropertiesPointer() { |
5820 return HObjectAccess(kInobject, JSObject::kPropertiesOffset); | 5834 return HObjectAccess(kInobject, JSObject::kPropertiesOffset); |
5821 } | 5835 } |
5822 | 5836 |
5823 static HObjectAccess ForPrototypeOrInitialMap() { | 5837 static HObjectAccess ForPrototypeOrInitialMap() { |
5824 return HObjectAccess(kInobject, JSFunction::kPrototypeOrInitialMapOffset); | 5838 return HObjectAccess(kInobject, JSFunction::kPrototypeOrInitialMapOffset); |
5825 } | 5839 } |
5826 | 5840 |
5827 static HObjectAccess ForSharedFunctionInfoPointer() { | 5841 static HObjectAccess ForSharedFunctionInfoPointer() { |
5828 return HObjectAccess(kInobject, JSFunction::kSharedFunctionInfoOffset); | 5842 return HObjectAccess(kInobject, JSFunction::kSharedFunctionInfoOffset); |
(...skipping 27 matching lines...) Expand all Loading... |
5856 static HObjectAccess ForMap() { | 5870 static HObjectAccess ForMap() { |
5857 return HObjectAccess(kMaps, JSObject::kMapOffset); | 5871 return HObjectAccess(kMaps, JSObject::kMapOffset); |
5858 } | 5872 } |
5859 | 5873 |
5860 static HObjectAccess ForMapInstanceSize() { | 5874 static HObjectAccess ForMapInstanceSize() { |
5861 return HObjectAccess(kInobject, | 5875 return HObjectAccess(kInobject, |
5862 Map::kInstanceSizeOffset, | 5876 Map::kInstanceSizeOffset, |
5863 Representation::UInteger8()); | 5877 Representation::UInteger8()); |
5864 } | 5878 } |
5865 | 5879 |
| 5880 static HObjectAccess ForMapInstanceType() { |
| 5881 return HObjectAccess(kInobject, |
| 5882 Map::kInstanceTypeOffset, |
| 5883 Representation::UInteger8()); |
| 5884 } |
| 5885 |
5866 static HObjectAccess ForPropertyCellValue() { | 5886 static HObjectAccess ForPropertyCellValue() { |
5867 return HObjectAccess(kInobject, PropertyCell::kValueOffset); | 5887 return HObjectAccess(kInobject, PropertyCell::kValueOffset); |
5868 } | 5888 } |
5869 | 5889 |
5870 static HObjectAccess ForCellValue() { | 5890 static HObjectAccess ForCellValue() { |
5871 return HObjectAccess(kInobject, Cell::kValueOffset); | 5891 return HObjectAccess(kInobject, Cell::kValueOffset); |
5872 } | 5892 } |
5873 | 5893 |
5874 static HObjectAccess ForAllocationMementoSite() { | 5894 static HObjectAccess ForAllocationMementoSite() { |
5875 return HObjectAccess(kInobject, AllocationMemento::kAllocationSiteOffset); | 5895 return HObjectAccess(kInobject, AllocationMemento::kAllocationSiteOffset); |
(...skipping 1378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7254 virtual bool IsDeletable() const V8_OVERRIDE { return true; } | 7274 virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
7255 }; | 7275 }; |
7256 | 7276 |
7257 | 7277 |
7258 #undef DECLARE_INSTRUCTION | 7278 #undef DECLARE_INSTRUCTION |
7259 #undef DECLARE_CONCRETE_INSTRUCTION | 7279 #undef DECLARE_CONCRETE_INSTRUCTION |
7260 | 7280 |
7261 } } // namespace v8::internal | 7281 } } // namespace v8::internal |
7262 | 7282 |
7263 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 7283 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |