| 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
|
|
|