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 6103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6114 | 6114 |
6115 static HObjectAccess ForCodeOffset() { | 6115 static HObjectAccess ForCodeOffset() { |
6116 return HObjectAccess(kInobject, SharedFunctionInfo::kCodeOffset); | 6116 return HObjectAccess(kInobject, SharedFunctionInfo::kCodeOffset); |
6117 } | 6117 } |
6118 | 6118 |
6119 static HObjectAccess ForOptimizedCodeMap() { | 6119 static HObjectAccess ForOptimizedCodeMap() { |
6120 return HObjectAccess(kInobject, | 6120 return HObjectAccess(kInobject, |
6121 SharedFunctionInfo::kOptimizedCodeMapOffset); | 6121 SharedFunctionInfo::kOptimizedCodeMapOffset); |
6122 } | 6122 } |
6123 | 6123 |
| 6124 static HObjectAccess ForCompileHint() { |
| 6125 // Compile hints are stored in the upper half of a pseudo-smi, which for |
| 6126 // 64-bit means that the representation is an integer. |
| 6127 #if V8_HOST_ARCH_32_BIT |
| 6128 Representation repr = Representation::Smi(); |
| 6129 #else |
| 6130 Representation repr = Representation::Integer32(); |
| 6131 #endif |
| 6132 return HObjectAccess(kInobject, SharedFunctionInfo::kCompilerHintsOffset, |
| 6133 repr); |
| 6134 } |
| 6135 |
6124 static HObjectAccess ForFunctionContextPointer() { | 6136 static HObjectAccess ForFunctionContextPointer() { |
6125 return HObjectAccess(kInobject, JSFunction::kContextOffset); | 6137 return HObjectAccess(kInobject, JSFunction::kContextOffset); |
6126 } | 6138 } |
6127 | 6139 |
6128 static HObjectAccess ForMap() { | 6140 static HObjectAccess ForMap() { |
6129 return HObjectAccess(kMaps, JSObject::kMapOffset); | 6141 return HObjectAccess(kMaps, JSObject::kMapOffset); |
6130 } | 6142 } |
6131 | 6143 |
6132 static HObjectAccess ForMapAsInteger32() { | 6144 static HObjectAccess ForMapAsInteger32() { |
6133 return HObjectAccess(kMaps, JSObject::kMapOffset, | 6145 return HObjectAccess(kMaps, JSObject::kMapOffset, |
(...skipping 1777 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7911 }; | 7923 }; |
7912 | 7924 |
7913 | 7925 |
7914 | 7926 |
7915 #undef DECLARE_INSTRUCTION | 7927 #undef DECLARE_INSTRUCTION |
7916 #undef DECLARE_CONCRETE_INSTRUCTION | 7928 #undef DECLARE_CONCRETE_INSTRUCTION |
7917 | 7929 |
7918 } } // namespace v8::internal | 7930 } } // namespace v8::internal |
7919 | 7931 |
7920 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 7932 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |