Port the ic part

BUG=
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/354173002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
verwaest@chromium.org 2014-06-27 14:01:42 +00:00
parent 8945c69855
commit a80b14ab93
5 changed files with 16 additions and 25 deletions

View File

@ -873,7 +873,7 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ Push(r2, r1, r0);
__ mov(r0, Operand(Smi::FromInt(strict_mode))); // Strict mode.
__ Push(r1, r0);
__ Push(r0);
__ TailCallRuntime(Runtime::kSetProperty, 4, 1);
}
@ -1213,12 +1213,11 @@ void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ Push(r1, r2, r0);
__ mov(r1, Operand(Smi::FromInt(NONE))); // PropertyAttributes
__ mov(r0, Operand(Smi::FromInt(strict_mode)));
__ Push(r1, r0);
__ Push(r0);
// Do tail-call to runtime routine.
__ TailCallRuntime(Runtime::kSetProperty, 5, 1);
__ TailCallRuntime(Runtime::kSetProperty, 4, 1);
}

View File

@ -911,12 +911,11 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
// Push receiver, key and value for runtime call.
__ Push(x2, x1, x0);
// Push PropertyAttributes(NONE) and strict_mode for runtime call.
STATIC_ASSERT(NONE == 0);
// Push strict_mode for runtime call.
__ Mov(x10, Smi::FromInt(strict_mode));
__ Push(xzr, x10);
__ Push(x10);
__ TailCallRuntime(Runtime::kSetProperty, 5, 1);
__ TailCallRuntime(Runtime::kSetProperty, 4, 1);
}
@ -1258,12 +1257,11 @@ void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ Push(x1, x2, x0);
__ Mov(x11, Smi::FromInt(NONE)); // PropertyAttributes
__ Mov(x10, Smi::FromInt(strict_mode));
__ Push(x11, x10);
__ Push(x10);
// Do tail-call to runtime routine.
__ TailCallRuntime(Runtime::kSetProperty, 5, 1);
__ TailCallRuntime(Runtime::kSetProperty, 4, 1);
}

View File

@ -795,11 +795,10 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
// Push receiver, key and value for runtime call.
__ Push(a2, a1, a0);
__ li(a1, Operand(Smi::FromInt(NONE))); // PropertyAttributes.
__ li(a0, Operand(Smi::FromInt(strict_mode))); // Strict mode.
__ Push(a1, a0);
__ Push(a0);
__ TailCallRuntime(Runtime::kSetProperty, 5, 1);
__ TailCallRuntime(Runtime::kSetProperty, 4, 1);
}
@ -1233,12 +1232,11 @@ void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ Push(a1, a2, a0);
__ li(a1, Operand(Smi::FromInt(NONE))); // PropertyAttributes.
__ li(a0, Operand(Smi::FromInt(strict_mode)));
__ Push(a1, a0);
__ Push(a0);
// Do tail-call to runtime routine.
__ TailCallRuntime(Runtime::kSetProperty, 5, 1);
__ TailCallRuntime(Runtime::kSetProperty, 4, 1);
}

View File

@ -1148,12 +1148,11 @@ void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ Push(rdx);
__ Push(rcx);
__ Push(rax);
__ Push(Smi::FromInt(NONE)); // PropertyAttributes
__ Push(Smi::FromInt(strict_mode));
__ PushReturnAddressFrom(rbx);
// Do tail-call to runtime routine.
__ TailCallRuntime(Runtime::kSetProperty, 5, 1);
__ TailCallRuntime(Runtime::kSetProperty, 4, 1);
}
@ -1170,12 +1169,11 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ Push(rdx); // receiver
__ Push(rcx); // key
__ Push(rax); // value
__ Push(Smi::FromInt(NONE)); // PropertyAttributes
__ Push(Smi::FromInt(strict_mode)); // Strict mode.
__ PushReturnAddressFrom(rbx);
// Do tail-call to runtime routine.
__ TailCallRuntime(Runtime::kSetProperty, 5, 1);
__ TailCallRuntime(Runtime::kSetProperty, 4, 1);
}

View File

@ -1132,12 +1132,11 @@ void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ push(edx);
__ push(ecx);
__ push(eax);
__ push(Immediate(Smi::FromInt(NONE))); // PropertyAttributes
__ push(Immediate(Smi::FromInt(strict_mode)));
__ push(ebx); // return address
// Do tail-call to runtime routine.
__ TailCallRuntime(Runtime::kSetProperty, 5, 1);
__ TailCallRuntime(Runtime::kSetProperty, 4, 1);
}
@ -1154,12 +1153,11 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ push(edx);
__ push(ecx);
__ push(eax);
__ push(Immediate(Smi::FromInt(NONE))); // PropertyAttributes
__ push(Immediate(Smi::FromInt(strict_mode))); // Strict mode.
__ push(ebx); // return address
// Do tail-call to runtime routine.
__ TailCallRuntime(Runtime::kSetProperty, 5, 1);
__ TailCallRuntime(Runtime::kSetProperty, 4, 1);
}