Index: src/builtins/builtins-handler.cc |
diff --git a/src/builtins/builtins-handler.cc b/src/builtins/builtins-handler.cc |
index 88597f8add9afc32824c39405d3d7661ae5495d7..2da5a176da77528f01c8c0aec7d25356907ac4d7 100644 |
--- a/src/builtins/builtins-handler.cc |
+++ b/src/builtins/builtins-handler.cc |
@@ -12,18 +12,19 @@ namespace v8 { |
namespace internal { |
void Builtins::Generate_KeyedLoadIC_Megamorphic_TF( |
- CodeStubAssembler* assembler) { |
+ compiler::CodeAssemblerState* state) { |
typedef compiler::Node Node; |
typedef LoadWithVectorDescriptor Descriptor; |
+ CodeStubAssembler assembler(state); |
- Node* receiver = assembler->Parameter(Descriptor::kReceiver); |
- Node* name = assembler->Parameter(Descriptor::kName); |
- Node* slot = assembler->Parameter(Descriptor::kSlot); |
- Node* vector = assembler->Parameter(Descriptor::kVector); |
- Node* context = assembler->Parameter(Descriptor::kContext); |
+ Node* receiver = assembler.Parameter(Descriptor::kReceiver); |
+ Node* name = assembler.Parameter(Descriptor::kName); |
+ Node* slot = assembler.Parameter(Descriptor::kSlot); |
+ Node* vector = assembler.Parameter(Descriptor::kVector); |
+ Node* context = assembler.Parameter(Descriptor::kContext); |
CodeStubAssembler::LoadICParameters p(context, receiver, name, slot, vector); |
- assembler->KeyedLoadICGeneric(&p); |
+ assembler.KeyedLoadICGeneric(&p); |
} |
void Builtins::Generate_KeyedLoadIC_Miss(MacroAssembler* masm) { |
@@ -41,30 +42,14 @@ void Builtins::Generate_KeyedStoreIC_Megamorphic_Strict(MacroAssembler* masm) { |
KeyedStoreIC::GenerateMegamorphic(masm, STRICT); |
} |
-void KeyedStoreICMegamorphic(CodeStubAssembler* assembler, LanguageMode mode) { |
- typedef compiler::Node Node; |
- typedef StoreWithVectorDescriptor Descriptor; |
- |
- Node* receiver = assembler->Parameter(Descriptor::kReceiver); |
- Node* name = assembler->Parameter(Descriptor::kName); |
- Node* value = assembler->Parameter(Descriptor::kValue); |
- Node* slot = assembler->Parameter(Descriptor::kSlot); |
- Node* vector = assembler->Parameter(Descriptor::kVector); |
- Node* context = assembler->Parameter(Descriptor::kContext); |
- |
- CodeStubAssembler::StoreICParameters p(context, receiver, name, value, slot, |
- vector); |
- KeyedStoreGenericGenerator::Generate(assembler, &p, mode); |
-} |
- |
void Builtins::Generate_KeyedStoreIC_Megamorphic_TF( |
- CodeStubAssembler* assembler) { |
- KeyedStoreICMegamorphic(assembler, SLOPPY); |
+ compiler::CodeAssemblerState* state) { |
+ KeyedStoreGenericGenerator::Generate(state, SLOPPY); |
} |
void Builtins::Generate_KeyedStoreIC_Megamorphic_Strict_TF( |
- CodeStubAssembler* assembler) { |
- KeyedStoreICMegamorphic(assembler, STRICT); |
+ compiler::CodeAssemblerState* state) { |
+ KeyedStoreGenericGenerator::Generate(state, STRICT); |
} |
void Builtins::Generate_KeyedStoreIC_Miss(MacroAssembler* masm) { |
@@ -75,76 +60,79 @@ void Builtins::Generate_KeyedStoreIC_Slow(MacroAssembler* masm) { |
KeyedStoreIC::GenerateSlow(masm); |
} |
-void Builtins::Generate_LoadGlobalIC_Miss(CodeStubAssembler* assembler) { |
+void Builtins::Generate_LoadGlobalIC_Miss(compiler::CodeAssemblerState* state) { |
typedef compiler::Node Node; |
typedef LoadGlobalWithVectorDescriptor Descriptor; |
+ CodeStubAssembler assembler(state); |
- Node* slot = assembler->Parameter(Descriptor::kSlot); |
- Node* vector = assembler->Parameter(Descriptor::kVector); |
- Node* context = assembler->Parameter(Descriptor::kContext); |
+ Node* slot = assembler.Parameter(Descriptor::kSlot); |
+ Node* vector = assembler.Parameter(Descriptor::kVector); |
+ Node* context = assembler.Parameter(Descriptor::kContext); |
- assembler->TailCallRuntime(Runtime::kLoadGlobalIC_Miss, context, slot, |
- vector); |
+ assembler.TailCallRuntime(Runtime::kLoadGlobalIC_Miss, context, slot, vector); |
} |
-void Builtins::Generate_LoadGlobalIC_Slow(CodeStubAssembler* assembler) { |
+void Builtins::Generate_LoadGlobalIC_Slow(compiler::CodeAssemblerState* state) { |
typedef compiler::Node Node; |
typedef LoadGlobalWithVectorDescriptor Descriptor; |
+ CodeStubAssembler assembler(state); |
- Node* slot = assembler->Parameter(Descriptor::kSlot); |
- Node* vector = assembler->Parameter(Descriptor::kVector); |
- Node* context = assembler->Parameter(Descriptor::kContext); |
+ Node* slot = assembler.Parameter(Descriptor::kSlot); |
+ Node* vector = assembler.Parameter(Descriptor::kVector); |
+ Node* context = assembler.Parameter(Descriptor::kContext); |
- assembler->TailCallRuntime(Runtime::kLoadGlobalIC_Slow, context, slot, |
- vector); |
+ assembler.TailCallRuntime(Runtime::kLoadGlobalIC_Slow, context, slot, vector); |
} |
void Builtins::Generate_LoadIC_Getter_ForDeopt(MacroAssembler* masm) { |
NamedLoadHandlerCompiler::GenerateLoadViaGetterForDeopt(masm); |
} |
-void Builtins::Generate_LoadIC_Miss(CodeStubAssembler* assembler) { |
+void Builtins::Generate_LoadIC_Miss(compiler::CodeAssemblerState* state) { |
typedef compiler::Node Node; |
typedef LoadWithVectorDescriptor Descriptor; |
+ CodeStubAssembler assembler(state); |
- Node* receiver = assembler->Parameter(Descriptor::kReceiver); |
- Node* name = assembler->Parameter(Descriptor::kName); |
- Node* slot = assembler->Parameter(Descriptor::kSlot); |
- Node* vector = assembler->Parameter(Descriptor::kVector); |
- Node* context = assembler->Parameter(Descriptor::kContext); |
+ Node* receiver = assembler.Parameter(Descriptor::kReceiver); |
+ Node* name = assembler.Parameter(Descriptor::kName); |
+ Node* slot = assembler.Parameter(Descriptor::kSlot); |
+ Node* vector = assembler.Parameter(Descriptor::kVector); |
+ Node* context = assembler.Parameter(Descriptor::kContext); |
- assembler->TailCallRuntime(Runtime::kLoadIC_Miss, context, receiver, name, |
- slot, vector); |
+ assembler.TailCallRuntime(Runtime::kLoadIC_Miss, context, receiver, name, |
+ slot, vector); |
} |
void Builtins::Generate_LoadIC_Normal(MacroAssembler* masm) { |
LoadIC::GenerateNormal(masm); |
} |
-void Builtins::Generate_LoadIC_Slow(CodeStubAssembler* assembler) { |
+void Builtins::Generate_LoadIC_Slow(compiler::CodeAssemblerState* state) { |
typedef compiler::Node Node; |
typedef LoadWithVectorDescriptor Descriptor; |
+ CodeStubAssembler assembler(state); |
- Node* receiver = assembler->Parameter(Descriptor::kReceiver); |
- Node* name = assembler->Parameter(Descriptor::kName); |
- Node* context = assembler->Parameter(Descriptor::kContext); |
+ Node* receiver = assembler.Parameter(Descriptor::kReceiver); |
+ Node* name = assembler.Parameter(Descriptor::kName); |
+ Node* context = assembler.Parameter(Descriptor::kContext); |
- assembler->TailCallRuntime(Runtime::kGetProperty, context, receiver, name); |
+ assembler.TailCallRuntime(Runtime::kGetProperty, context, receiver, name); |
} |
-void Builtins::Generate_StoreIC_Miss(CodeStubAssembler* assembler) { |
+void Builtins::Generate_StoreIC_Miss(compiler::CodeAssemblerState* state) { |
typedef compiler::Node Node; |
typedef StoreWithVectorDescriptor Descriptor; |
+ CodeStubAssembler assembler(state); |
- Node* receiver = assembler->Parameter(Descriptor::kReceiver); |
- Node* name = assembler->Parameter(Descriptor::kName); |
- Node* value = assembler->Parameter(Descriptor::kValue); |
- Node* slot = assembler->Parameter(Descriptor::kSlot); |
- Node* vector = assembler->Parameter(Descriptor::kVector); |
- Node* context = assembler->Parameter(Descriptor::kContext); |
+ Node* receiver = assembler.Parameter(Descriptor::kReceiver); |
+ Node* name = assembler.Parameter(Descriptor::kName); |
+ Node* value = assembler.Parameter(Descriptor::kValue); |
+ Node* slot = assembler.Parameter(Descriptor::kSlot); |
+ Node* vector = assembler.Parameter(Descriptor::kVector); |
+ Node* context = assembler.Parameter(Descriptor::kContext); |
- assembler->TailCallRuntime(Runtime::kStoreIC_Miss, context, value, slot, |
- vector, receiver, name); |
+ assembler.TailCallRuntime(Runtime::kStoreIC_Miss, context, value, slot, |
+ vector, receiver, name); |
} |
void Builtins::Generate_StoreIC_Normal(MacroAssembler* masm) { |
@@ -156,30 +144,33 @@ void Builtins::Generate_StoreIC_Setter_ForDeopt(MacroAssembler* masm) { |
} |
namespace { |
-void Generate_StoreIC_Slow(CodeStubAssembler* assembler, |
+void Generate_StoreIC_Slow(compiler::CodeAssemblerState* state, |
LanguageMode language_mode) { |
typedef compiler::Node Node; |
typedef StoreWithVectorDescriptor Descriptor; |
+ CodeStubAssembler assembler(state); |
- Node* receiver = assembler->Parameter(Descriptor::kReceiver); |
- Node* name = assembler->Parameter(Descriptor::kName); |
- Node* value = assembler->Parameter(Descriptor::kValue); |
- Node* context = assembler->Parameter(Descriptor::kContext); |
- Node* lang_mode = assembler->SmiConstant(Smi::FromInt(language_mode)); |
+ Node* receiver = assembler.Parameter(Descriptor::kReceiver); |
+ Node* name = assembler.Parameter(Descriptor::kName); |
+ Node* value = assembler.Parameter(Descriptor::kValue); |
+ Node* context = assembler.Parameter(Descriptor::kContext); |
+ Node* lang_mode = assembler.SmiConstant(Smi::FromInt(language_mode)); |
// The slow case calls into the runtime to complete the store without causing |
// an IC miss that would otherwise cause a transition to the generic stub. |
- assembler->TailCallRuntime(Runtime::kSetProperty, context, receiver, name, |
- value, lang_mode); |
+ assembler.TailCallRuntime(Runtime::kSetProperty, context, receiver, name, |
+ value, lang_mode); |
} |
} // anonymous namespace |
-void Builtins::Generate_StoreIC_SlowSloppy(CodeStubAssembler* assembler) { |
- Generate_StoreIC_Slow(assembler, SLOPPY); |
+void Builtins::Generate_StoreIC_SlowSloppy( |
+ compiler::CodeAssemblerState* state) { |
+ Generate_StoreIC_Slow(state, SLOPPY); |
} |
-void Builtins::Generate_StoreIC_SlowStrict(CodeStubAssembler* assembler) { |
- Generate_StoreIC_Slow(assembler, STRICT); |
+void Builtins::Generate_StoreIC_SlowStrict( |
+ compiler::CodeAssemblerState* state) { |
+ Generate_StoreIC_Slow(state, STRICT); |
} |
} // namespace internal |