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 6153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6164 | 6164 |
6165 static HObjectAccess ForCodeOffset() { | 6165 static HObjectAccess ForCodeOffset() { |
6166 return HObjectAccess(kInobject, SharedFunctionInfo::kCodeOffset); | 6166 return HObjectAccess(kInobject, SharedFunctionInfo::kCodeOffset); |
6167 } | 6167 } |
6168 | 6168 |
6169 static HObjectAccess ForOptimizedCodeMap() { | 6169 static HObjectAccess ForOptimizedCodeMap() { |
6170 return HObjectAccess(kInobject, | 6170 return HObjectAccess(kInobject, |
6171 SharedFunctionInfo::kOptimizedCodeMapOffset); | 6171 SharedFunctionInfo::kOptimizedCodeMapOffset); |
6172 } | 6172 } |
6173 | 6173 |
6174 static HObjectAccess ForCompileHint() { | |
6175 // Compile hints are stored in the upper half of a pseudo-smi, which for | |
6176 // 64-bit means that the representation is an integer. | |
6177 #if V8_HOST_ARCH_32_BIT | |
6178 Representation repr = Representation::Smi(); | |
6179 #else | |
6180 Representation repr = Representation::Integer32(); | |
6181 #endif | |
6182 return HObjectAccess(kInobject, SharedFunctionInfo::kCompilerHintsOffset, | |
6183 repr); | |
6184 } | |
6185 | |
6186 static HObjectAccess ForFunctionContextPointer() { | 6174 static HObjectAccess ForFunctionContextPointer() { |
6187 return HObjectAccess(kInobject, JSFunction::kContextOffset); | 6175 return HObjectAccess(kInobject, JSFunction::kContextOffset); |
6188 } | 6176 } |
6189 | 6177 |
6190 static HObjectAccess ForMap() { | 6178 static HObjectAccess ForMap() { |
6191 return HObjectAccess(kMaps, JSObject::kMapOffset); | 6179 return HObjectAccess(kMaps, JSObject::kMapOffset); |
6192 } | 6180 } |
6193 | 6181 |
6194 static HObjectAccess ForMapAsInteger32() { | 6182 static HObjectAccess ForMapAsInteger32() { |
6195 return HObjectAccess(kMaps, JSObject::kMapOffset, | 6183 return HObjectAccess(kMaps, JSObject::kMapOffset, |
(...skipping 1795 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7991 }; | 7979 }; |
7992 | 7980 |
7993 | 7981 |
7994 | 7982 |
7995 #undef DECLARE_INSTRUCTION | 7983 #undef DECLARE_INSTRUCTION |
7996 #undef DECLARE_CONCRETE_INSTRUCTION | 7984 #undef DECLARE_CONCRETE_INSTRUCTION |
7997 | 7985 |
7998 } } // namespace v8::internal | 7986 } } // namespace v8::internal |
7999 | 7987 |
8000 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 7988 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |