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

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

Issue 2062343002: [ic] Remove --new-load-global-ic switch. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@enable-load-global-ic
Patch Set: Rebasing Created 4 years, 6 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
« no previous file with comments | « no previous file | src/code-stubs.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/code-stub-assembler.h" 10 #include "src/code-stub-assembler.h"
(...skipping 2341 matching lines...) Expand 10 before | Expand all | Expand 10 after
2352 2352
2353 protected: 2353 protected:
2354 LoadICState state() const { 2354 LoadICState state() const {
2355 return LoadICState(static_cast<ExtraICState>(minor_key_)); 2355 return LoadICState(static_cast<ExtraICState>(minor_key_));
2356 } 2356 }
2357 2357
2358 DEFINE_CALL_INTERFACE_DESCRIPTOR(Load); 2358 DEFINE_CALL_INTERFACE_DESCRIPTOR(Load);
2359 DEFINE_CODE_STUB(LoadICTrampolineTF, TurboFanCodeStub); 2359 DEFINE_CODE_STUB(LoadICTrampolineTF, TurboFanCodeStub);
2360 }; 2360 };
2361 2361
2362 class LoadGlobalICTrampolineStub : public LoadICTrampolineTFStub { 2362 class LoadGlobalICTrampolineStub : public TurboFanCodeStub {
2363 public: 2363 public:
2364 explicit LoadGlobalICTrampolineStub(Isolate* isolate, 2364 explicit LoadGlobalICTrampolineStub(Isolate* isolate,
2365 const LoadICState& state) 2365 const LoadICState& state)
2366 : LoadICTrampolineTFStub(isolate, state) {} 2366 : TurboFanCodeStub(isolate) {
2367 minor_key_ = state.GetExtraICState();
2368 }
2367 2369
2368 void GenerateAssembly(CodeStubAssembler* assembler) const override; 2370 void GenerateAssembly(CodeStubAssembler* assembler) const override;
2369 2371
2370 Code::Kind GetCodeKind() const override { return Code::LOAD_GLOBAL_IC; } 2372 Code::Kind GetCodeKind() const override { return Code::LOAD_GLOBAL_IC; }
2371 2373
2372 // DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadGlobal); 2374 ExtraICState GetExtraICState() const final {
2373 CallInterfaceDescriptor GetCallInterfaceDescriptor() const override { 2375 return static_cast<ExtraICState>(minor_key_);
2374 if (!FLAG_new_load_global_ic) {
2375 return LoadICTrampolineTFStub::GetCallInterfaceDescriptor();
2376 }
2377 return LoadGlobalDescriptor(isolate());
2378 } 2376 }
2379 DEFINE_CODE_STUB(LoadGlobalICTrampoline, LoadICTrampolineTFStub); 2377
2378 DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadGlobal);
2379 DEFINE_CODE_STUB(LoadGlobalICTrampoline, TurboFanCodeStub);
2380 }; 2380 };
2381 2381
2382 class KeyedLoadICTrampolineStub : public LoadICTrampolineStub { 2382 class KeyedLoadICTrampolineStub : public LoadICTrampolineStub {
2383 public: 2383 public:
2384 explicit KeyedLoadICTrampolineStub(Isolate* isolate, const LoadICState& state) 2384 explicit KeyedLoadICTrampolineStub(Isolate* isolate, const LoadICState& state)
2385 : LoadICTrampolineStub(isolate, state) {} 2385 : LoadICTrampolineStub(isolate, state) {}
2386 2386
2387 Code::Kind GetCodeKind() const override { return Code::KEYED_LOAD_IC; } 2387 Code::Kind GetCodeKind() const override { return Code::KEYED_LOAD_IC; }
2388 2388
2389 DEFINE_PLATFORM_CODE_STUB(KeyedLoadICTrampoline, LoadICTrampolineStub); 2389 DEFINE_PLATFORM_CODE_STUB(KeyedLoadICTrampoline, LoadICTrampolineStub);
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
2483 Code::Kind GetCodeKind() const override { return Code::LOAD_IC; } 2483 Code::Kind GetCodeKind() const override { return Code::LOAD_IC; }
2484 2484
2485 ExtraICState GetExtraICState() const final { 2485 ExtraICState GetExtraICState() const final {
2486 return static_cast<ExtraICState>(minor_key_); 2486 return static_cast<ExtraICState>(minor_key_);
2487 } 2487 }
2488 2488
2489 DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadWithVector); 2489 DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadWithVector);
2490 DEFINE_CODE_STUB(LoadICTF, TurboFanCodeStub); 2490 DEFINE_CODE_STUB(LoadICTF, TurboFanCodeStub);
2491 }; 2491 };
2492 2492
2493 class LoadGlobalICStub : public LoadICTFStub { 2493 class LoadGlobalICStub : public TurboFanCodeStub {
2494 public: 2494 public:
2495 explicit LoadGlobalICStub(Isolate* isolate, const LoadICState& state) 2495 explicit LoadGlobalICStub(Isolate* isolate, const LoadICState& state)
2496 : LoadICTFStub(isolate, state) {} 2496 : TurboFanCodeStub(isolate) {
2497 minor_key_ = state.GetExtraICState();
2498 }
2497 2499
2498 void GenerateAssembly(CodeStubAssembler* assembler) const override; 2500 void GenerateAssembly(CodeStubAssembler* assembler) const override;
2499 2501
2500 Code::Kind GetCodeKind() const override { return Code::LOAD_GLOBAL_IC; } 2502 Code::Kind GetCodeKind() const override { return Code::LOAD_GLOBAL_IC; }
2501 2503
2502 // DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadGlobalWithVector); 2504 ExtraICState GetExtraICState() const final {
2503 CallInterfaceDescriptor GetCallInterfaceDescriptor() const override { 2505 return static_cast<ExtraICState>(minor_key_);
2504 if (!FLAG_new_load_global_ic) {
2505 return LoadICTFStub::GetCallInterfaceDescriptor();
2506 }
2507 return LoadGlobalWithVectorDescriptor(isolate());
2508 } 2506 }
2509 DEFINE_CODE_STUB(LoadGlobalIC, LoadICTFStub); 2507
2508 DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadGlobalWithVector);
2509 DEFINE_CODE_STUB(LoadGlobalIC, TurboFanCodeStub);
2510 }; 2510 };
2511 2511
2512 class KeyedLoadICStub : public PlatformCodeStub { 2512 class KeyedLoadICStub : public PlatformCodeStub {
2513 public: 2513 public:
2514 explicit KeyedLoadICStub(Isolate* isolate, const LoadICState& state) 2514 explicit KeyedLoadICStub(Isolate* isolate, const LoadICState& state)
2515 : PlatformCodeStub(isolate) { 2515 : PlatformCodeStub(isolate) {
2516 minor_key_ = state.GetExtraICState(); 2516 minor_key_ = state.GetExtraICState();
2517 } 2517 }
2518 2518
2519 void GenerateForTrampoline(MacroAssembler* masm); 2519 void GenerateForTrampoline(MacroAssembler* masm);
(...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after
3156 #undef DEFINE_HYDROGEN_CODE_STUB 3156 #undef DEFINE_HYDROGEN_CODE_STUB
3157 #undef DEFINE_CODE_STUB 3157 #undef DEFINE_CODE_STUB
3158 #undef DEFINE_CODE_STUB_BASE 3158 #undef DEFINE_CODE_STUB_BASE
3159 3159
3160 extern Representation RepresentationFromType(Type* type); 3160 extern Representation RepresentationFromType(Type* type);
3161 3161
3162 } // namespace internal 3162 } // namespace internal
3163 } // namespace v8 3163 } // namespace v8
3164 3164
3165 #endif // V8_CODE_STUBS_H_ 3165 #endif // V8_CODE_STUBS_H_
OLDNEW
« no previous file with comments | « no previous file | src/code-stubs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698