Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(340)

Side by Side Diff: src/code-stubs.h

Issue 1092353002: [strong] Disallow implicit conversions for binary arithmetic operations (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: cl feedback 5 Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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_
OLDNEW
« no previous file with comments | « src/code-factory.cc ('k') | src/code-stubs.cc » ('j') | src/ic/ic.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698