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

Side by Side Diff: src/builtins.cc

Issue 2084913006: [ic] Let LoadGlobalIC load the variable name from TypeFeedbackMetadata. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@fix-load-ic-slow-stub
Patch Set: Addressing comments 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 | « src/ast/ast.cc ('k') | src/code-stub-assembler.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 #include "src/builtins.h" 5 #include "src/builtins.h"
6 6
7 #include "src/api-arguments.h" 7 #include "src/api-arguments.h"
8 #include "src/api-natives.h" 8 #include "src/api-natives.h"
9 #include "src/api.h" 9 #include "src/api.h"
10 #include "src/base/ieee754.h" 10 #include "src/base/ieee754.h"
(...skipping 5448 matching lines...) Expand 10 before | Expand all | Expand 10 after
5459 Node* vector = assembler->Parameter(3); 5459 Node* vector = assembler->Parameter(3);
5460 Node* context = assembler->Parameter(4); 5460 Node* context = assembler->Parameter(4);
5461 5461
5462 assembler->TailCallRuntime(Runtime::kLoadIC_Miss, context, receiver, name, 5462 assembler->TailCallRuntime(Runtime::kLoadIC_Miss, context, receiver, name,
5463 slot, vector); 5463 slot, vector);
5464 } 5464 }
5465 5465
5466 void Generate_LoadGlobalIC_Miss(CodeStubAssembler* assembler) { 5466 void Generate_LoadGlobalIC_Miss(CodeStubAssembler* assembler) {
5467 typedef compiler::Node Node; 5467 typedef compiler::Node Node;
5468 5468
5469 Node* name = assembler->Parameter(0); 5469 Node* slot = assembler->Parameter(0);
5470 Node* slot = assembler->Parameter(1); 5470 Node* vector = assembler->Parameter(1);
5471 Node* vector = assembler->Parameter(2); 5471 Node* context = assembler->Parameter(2);
5472 Node* context = assembler->Parameter(3);
5473 5472
5474 assembler->TailCallRuntime(Runtime::kLoadGlobalIC_Miss, context, name, slot, 5473 assembler->TailCallRuntime(Runtime::kLoadGlobalIC_Miss, context, slot,
5475 vector); 5474 vector);
5476 } 5475 }
5477 5476
5478 void Generate_LoadIC_Normal(MacroAssembler* masm) { 5477 void Generate_LoadIC_Normal(MacroAssembler* masm) {
5479 LoadIC::GenerateNormal(masm); 5478 LoadIC::GenerateNormal(masm);
5480 } 5479 }
5481 5480
5482 void Generate_LoadIC_Getter_ForDeopt(MacroAssembler* masm) { 5481 void Generate_LoadIC_Getter_ForDeopt(MacroAssembler* masm) {
5483 NamedLoadHandlerCompiler::GenerateLoadViaGetterForDeopt(masm); 5482 NamedLoadHandlerCompiler::GenerateLoadViaGetterForDeopt(masm);
5484 } 5483 }
5485 5484
5486 void Generate_LoadIC_Slow(CodeStubAssembler* assembler) { 5485 void Generate_LoadIC_Slow(CodeStubAssembler* assembler) {
5487 typedef compiler::Node Node; 5486 typedef compiler::Node Node;
5488 5487
5489 Node* receiver = assembler->Parameter(0); 5488 Node* receiver = assembler->Parameter(0);
5490 Node* name = assembler->Parameter(1); 5489 Node* name = assembler->Parameter(1);
5491 // Node* slot = assembler->Parameter(2); 5490 // Node* slot = assembler->Parameter(2);
5492 // Node* vector = assembler->Parameter(3); 5491 // Node* vector = assembler->Parameter(3);
5493 Node* context = assembler->Parameter(4); 5492 Node* context = assembler->Parameter(4);
5494 5493
5495 assembler->TailCallRuntime(Runtime::kGetProperty, context, receiver, name); 5494 assembler->TailCallRuntime(Runtime::kGetProperty, context, receiver, name);
5496 } 5495 }
5497 5496
5498 void Generate_LoadGlobalIC_SlowInsideTypeof(CodeStubAssembler* assembler) { 5497 void Generate_LoadGlobalIC_SlowInsideTypeof(CodeStubAssembler* assembler) {
5499 typedef compiler::Node Node; 5498 typedef compiler::Node Node;
5500 5499
5501 Node* name = assembler->Parameter(0); 5500 Node* slot = assembler->Parameter(0);
5502 // Node* slot = assembler->Parameter(1); 5501 Node* vector = assembler->Parameter(1);
5503 // Node* vector = assembler->Parameter(2); 5502 Node* context = assembler->Parameter(2);
5504 Node* context = assembler->Parameter(3);
5505 5503
5506 assembler->TailCallRuntime(Runtime::kGetGlobalInsideTypeof, context, name); 5504 assembler->TailCallRuntime(Runtime::kGetGlobalInsideTypeof, context, slot,
5505 vector);
5507 } 5506 }
5508 5507
5509 void Generate_LoadGlobalIC_SlowNotInsideTypeof(CodeStubAssembler* assembler) { 5508 void Generate_LoadGlobalIC_SlowNotInsideTypeof(CodeStubAssembler* assembler) {
5510 typedef compiler::Node Node; 5509 typedef compiler::Node Node;
5511 5510
5512 Node* name = assembler->Parameter(0); 5511 Node* slot = assembler->Parameter(0);
5513 // Node* slot = assembler->Parameter(1); 5512 Node* vector = assembler->Parameter(1);
5514 // Node* vector = assembler->Parameter(2); 5513 Node* context = assembler->Parameter(2);
5515 Node* context = assembler->Parameter(3);
5516 5514
5517 assembler->TailCallRuntime(Runtime::kGetGlobalNotInsideTypeof, context, name); 5515 assembler->TailCallRuntime(Runtime::kGetGlobalNotInsideTypeof, context, slot,
5516 vector);
5518 } 5517 }
5519 5518
5520 void Generate_KeyedLoadIC_Slow(MacroAssembler* masm) { 5519 void Generate_KeyedLoadIC_Slow(MacroAssembler* masm) {
5521 KeyedLoadIC::GenerateRuntimeGetProperty(masm); 5520 KeyedLoadIC::GenerateRuntimeGetProperty(masm);
5522 } 5521 }
5523 5522
5524 void Generate_KeyedLoadIC_Miss(MacroAssembler* masm) { 5523 void Generate_KeyedLoadIC_Miss(MacroAssembler* masm) {
5525 KeyedLoadIC::GenerateMiss(masm); 5524 KeyedLoadIC::GenerateMiss(masm);
5526 } 5525 }
5527 5526
(...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after
6119 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H) 6118 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H)
6120 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A) 6119 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A)
6121 #undef DEFINE_BUILTIN_ACCESSOR_C 6120 #undef DEFINE_BUILTIN_ACCESSOR_C
6122 #undef DEFINE_BUILTIN_ACCESSOR_A 6121 #undef DEFINE_BUILTIN_ACCESSOR_A
6123 #undef DEFINE_BUILTIN_ACCESSOR_T 6122 #undef DEFINE_BUILTIN_ACCESSOR_T
6124 #undef DEFINE_BUILTIN_ACCESSOR_S 6123 #undef DEFINE_BUILTIN_ACCESSOR_S
6125 #undef DEFINE_BUILTIN_ACCESSOR_H 6124 #undef DEFINE_BUILTIN_ACCESSOR_H
6126 6125
6127 } // namespace internal 6126 } // namespace internal
6128 } // namespace v8 6127 } // namespace v8
OLDNEW
« no previous file with comments | « src/ast/ast.cc ('k') | src/code-stub-assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698