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

Side by Side Diff: src/builtins.cc

Issue 1912633002: [ic] Split LoadIC into LoadGlobalIC and LoadIC. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: 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
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/once.h" 10 #include "src/base/once.h"
(...skipping 5319 matching lines...) Expand 10 before | Expand all | Expand 10 after
5330 Node* receiver = assembler->Parameter(0); 5330 Node* receiver = assembler->Parameter(0);
5331 Node* name = assembler->Parameter(1); 5331 Node* name = assembler->Parameter(1);
5332 Node* slot = assembler->Parameter(2); 5332 Node* slot = assembler->Parameter(2);
5333 Node* vector = assembler->Parameter(3); 5333 Node* vector = assembler->Parameter(3);
5334 Node* context = assembler->Parameter(4); 5334 Node* context = assembler->Parameter(4);
5335 5335
5336 assembler->TailCallRuntime(Runtime::kLoadIC_Miss, context, receiver, name, 5336 assembler->TailCallRuntime(Runtime::kLoadIC_Miss, context, receiver, name,
5337 slot, vector); 5337 slot, vector);
5338 } 5338 }
5339 5339
5340 void Generate_LoadGlobalIC_Miss(CodeStubAssembler* assembler) {
5341 typedef compiler::Node Node;
5342
5343 Node* name = assembler->Parameter(0);
5344 Node* slot = assembler->Parameter(1);
5345 Node* vector = assembler->Parameter(2);
5346 Node* context = assembler->Parameter(3);
5347
5348 assembler->TailCallRuntime(Runtime::kLoadGlobalIC_Miss, context, name, slot,
5349 vector);
5350 }
5351
5340 void Generate_LoadIC_Normal(MacroAssembler* masm) { 5352 void Generate_LoadIC_Normal(MacroAssembler* masm) {
5341 LoadIC::GenerateNormal(masm); 5353 LoadIC::GenerateNormal(masm);
5342 } 5354 }
5343 5355
5344 void Generate_LoadIC_Getter_ForDeopt(MacroAssembler* masm) { 5356 void Generate_LoadIC_Getter_ForDeopt(MacroAssembler* masm) {
5345 NamedLoadHandlerCompiler::GenerateLoadViaGetterForDeopt(masm); 5357 NamedLoadHandlerCompiler::GenerateLoadViaGetterForDeopt(masm);
5346 } 5358 }
5347 5359
5348 void Generate_LoadIC_Slow(CodeStubAssembler* assembler) { 5360 void Generate_LoadIC_Slow(CodeStubAssembler* assembler) {
5349 typedef compiler::Node Node; 5361 typedef compiler::Node Node;
5350 5362
5351 Node* receiver = assembler->Parameter(0); 5363 Node* receiver = assembler->Parameter(0);
5352 Node* name = assembler->Parameter(1); 5364 Node* name = assembler->Parameter(1);
5353 // Node* slot = assembler->Parameter(2); 5365 // Node* slot = assembler->Parameter(2);
5354 // Node* vector = assembler->Parameter(3); 5366 // Node* vector = assembler->Parameter(3);
5355 Node* context = assembler->Parameter(4); 5367 Node* context = assembler->Parameter(4);
5356 5368
5357 assembler->TailCallRuntime(Runtime::kGetProperty, context, receiver, name); 5369 assembler->TailCallRuntime(Runtime::kGetProperty, context, receiver, name);
5358 } 5370 }
5359 5371
5372 void Generate_LoadGlobalIC_Slow(CodeStubAssembler* assembler) {
5373 typedef compiler::Node Node;
5374
5375 Node* name = assembler->Parameter(0);
5376 // Node* slot = assembler->Parameter(1);
5377 // Node* vector = assembler->Parameter(2);
5378 Node* context = assembler->Parameter(3);
5379
5380 assembler->TailCallRuntime(Runtime::kGetGlobal, context, name);
5381 }
5382
5360 void Generate_KeyedLoadIC_Slow(MacroAssembler* masm) { 5383 void Generate_KeyedLoadIC_Slow(MacroAssembler* masm) {
5361 KeyedLoadIC::GenerateRuntimeGetProperty(masm); 5384 KeyedLoadIC::GenerateRuntimeGetProperty(masm);
5362 } 5385 }
5363 5386
5364 void Generate_KeyedLoadIC_Miss(MacroAssembler* masm) { 5387 void Generate_KeyedLoadIC_Miss(MacroAssembler* masm) {
5365 KeyedLoadIC::GenerateMiss(masm); 5388 KeyedLoadIC::GenerateMiss(masm);
5366 } 5389 }
5367 5390
5368 void Generate_KeyedLoadIC_Megamorphic(MacroAssembler* masm) { 5391 void Generate_KeyedLoadIC_Megamorphic(MacroAssembler* masm) {
5369 KeyedLoadIC::GenerateMegamorphic(masm); 5392 KeyedLoadIC::GenerateMegamorphic(masm);
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after
5976 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H) 5999 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H)
5977 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A) 6000 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A)
5978 #undef DEFINE_BUILTIN_ACCESSOR_C 6001 #undef DEFINE_BUILTIN_ACCESSOR_C
5979 #undef DEFINE_BUILTIN_ACCESSOR_A 6002 #undef DEFINE_BUILTIN_ACCESSOR_A
5980 #undef DEFINE_BUILTIN_ACCESSOR_T 6003 #undef DEFINE_BUILTIN_ACCESSOR_T
5981 #undef DEFINE_BUILTIN_ACCESSOR_S 6004 #undef DEFINE_BUILTIN_ACCESSOR_S
5982 #undef DEFINE_BUILTIN_ACCESSOR_H 6005 #undef DEFINE_BUILTIN_ACCESSOR_H
5983 6006
5984 } // namespace internal 6007 } // namespace internal
5985 } // namespace v8 6008 } // namespace v8
OLDNEW
« src/ast/ast.cc ('K') | « src/builtins.h ('k') | src/code-factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698