| 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_CODE_STUBS_H_ | 5 #ifndef V8_CODE_STUBS_H_ |
| 6 #define V8_CODE_STUBS_H_ | 6 #define V8_CODE_STUBS_H_ |
| 7 | 7 |
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
| 9 #include "src/assembler.h" | 9 #include "src/assembler.h" |
| 10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
| (...skipping 1230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1241 public: | 1241 public: |
| 1242 explicit CallApiGetterStub(Isolate* isolate) : PlatformCodeStub(isolate) {} | 1242 explicit CallApiGetterStub(Isolate* isolate) : PlatformCodeStub(isolate) {} |
| 1243 | 1243 |
| 1244 DEFINE_CALL_INTERFACE_DESCRIPTOR(ApiGetter); | 1244 DEFINE_CALL_INTERFACE_DESCRIPTOR(ApiGetter); |
| 1245 DEFINE_PLATFORM_CODE_STUB(CallApiGetter, PlatformCodeStub); | 1245 DEFINE_PLATFORM_CODE_STUB(CallApiGetter, PlatformCodeStub); |
| 1246 }; | 1246 }; |
| 1247 | 1247 |
| 1248 | 1248 |
| 1249 class BinaryOpICStub : public HydrogenCodeStub { | 1249 class BinaryOpICStub : public HydrogenCodeStub { |
| 1250 public: | 1250 public: |
| 1251 BinaryOpICStub(Isolate* isolate, Token::Value op) | 1251 BinaryOpICStub(Isolate* isolate, Token::Value op, LanguageMode language_mode) |
| 1252 : HydrogenCodeStub(isolate, UNINITIALIZED) { | 1252 : HydrogenCodeStub(isolate, UNINITIALIZED) { |
| 1253 BinaryOpICState state(isolate, op); | 1253 BinaryOpICState state(isolate, op, language_mode); |
| 1254 set_sub_minor_key(state.GetExtraICState()); | 1254 set_sub_minor_key(state.GetExtraICState()); |
| 1255 } | 1255 } |
| 1256 | 1256 |
| 1257 BinaryOpICStub(Isolate* isolate, const BinaryOpICState& state) | 1257 BinaryOpICStub(Isolate* isolate, const BinaryOpICState& state) |
| 1258 : HydrogenCodeStub(isolate) { | 1258 : HydrogenCodeStub(isolate) { |
| 1259 set_sub_minor_key(state.GetExtraICState()); | 1259 set_sub_minor_key(state.GetExtraICState()); |
| 1260 } | 1260 } |
| 1261 | 1261 |
| 1262 static void GenerateAheadOfTime(Isolate* isolate); | 1262 static void GenerateAheadOfTime(Isolate* isolate); |
| 1263 | 1263 |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1324 static void GenerateAheadOfTime(Isolate* isolate, | 1324 static void GenerateAheadOfTime(Isolate* isolate, |
| 1325 const BinaryOpICState& state); | 1325 const BinaryOpICState& state); |
| 1326 | 1326 |
| 1327 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOpWithAllocationSite); | 1327 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOpWithAllocationSite); |
| 1328 DEFINE_PLATFORM_CODE_STUB(BinaryOpICWithAllocationSite, PlatformCodeStub); | 1328 DEFINE_PLATFORM_CODE_STUB(BinaryOpICWithAllocationSite, PlatformCodeStub); |
| 1329 }; | 1329 }; |
| 1330 | 1330 |
| 1331 | 1331 |
| 1332 class BinaryOpWithAllocationSiteStub final : public BinaryOpICStub { | 1332 class BinaryOpWithAllocationSiteStub final : public BinaryOpICStub { |
| 1333 public: | 1333 public: |
| 1334 BinaryOpWithAllocationSiteStub(Isolate* isolate, Token::Value op) | 1334 BinaryOpWithAllocationSiteStub(Isolate* isolate, Token::Value op, |
| 1335 : BinaryOpICStub(isolate, op) {} | 1335 LanguageMode language_mode) |
| 1336 : BinaryOpICStub(isolate, op, language_mode) {} |
| 1336 | 1337 |
| 1337 BinaryOpWithAllocationSiteStub(Isolate* isolate, const BinaryOpICState& state) | 1338 BinaryOpWithAllocationSiteStub(Isolate* isolate, const BinaryOpICState& state) |
| 1338 : BinaryOpICStub(isolate, state) {} | 1339 : BinaryOpICStub(isolate, state) {} |
| 1339 | 1340 |
| 1340 Code::Kind GetCodeKind() const final { return Code::STUB; } | 1341 Code::Kind GetCodeKind() const final { return Code::STUB; } |
| 1341 | 1342 |
| 1342 // Parameters accessed via CodeStubGraphBuilder::GetParameter() | 1343 // Parameters accessed via CodeStubGraphBuilder::GetParameter() |
| 1343 static const int kAllocationSite = 0; | 1344 static const int kAllocationSite = 0; |
| 1344 static const int kLeft = 1; | 1345 static const int kLeft = 1; |
| 1345 static const int kRight = 2; | 1346 static const int kRight = 2; |
| (...skipping 1408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2754 | 2755 |
| 2755 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR | 2756 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR |
| 2756 #undef DEFINE_PLATFORM_CODE_STUB | 2757 #undef DEFINE_PLATFORM_CODE_STUB |
| 2757 #undef DEFINE_HANDLER_CODE_STUB | 2758 #undef DEFINE_HANDLER_CODE_STUB |
| 2758 #undef DEFINE_HYDROGEN_CODE_STUB | 2759 #undef DEFINE_HYDROGEN_CODE_STUB |
| 2759 #undef DEFINE_CODE_STUB | 2760 #undef DEFINE_CODE_STUB |
| 2760 #undef DEFINE_CODE_STUB_BASE | 2761 #undef DEFINE_CODE_STUB_BASE |
| 2761 } } // namespace v8::internal | 2762 } } // namespace v8::internal |
| 2762 | 2763 |
| 2763 #endif // V8_CODE_STUBS_H_ | 2764 #endif // V8_CODE_STUBS_H_ |
| OLD | NEW |