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); |
rossberg
2015/04/23 13:29:37
I think it's right for the BinoryOpICStub construc
conradw
2015/04/23 14:51:54
Done.
| |
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 |