Commit a80b14ab authored by verwaest@chromium.org's avatar verwaest@chromium.org

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
parent 8945c698
...@@ -873,7 +873,7 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm, ...@@ -873,7 +873,7 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ Push(r2, r1, r0); __ Push(r2, r1, r0);
__ mov(r0, Operand(Smi::FromInt(strict_mode))); // Strict mode. __ mov(r0, Operand(Smi::FromInt(strict_mode))); // Strict mode.
__ Push(r1, r0); __ Push(r0);
__ TailCallRuntime(Runtime::kSetProperty, 4, 1); __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
} }
...@@ -1213,12 +1213,11 @@ void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm, ...@@ -1213,12 +1213,11 @@ void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ Push(r1, r2, r0); __ Push(r1, r2, r0);
__ mov(r1, Operand(Smi::FromInt(NONE))); // PropertyAttributes
__ mov(r0, Operand(Smi::FromInt(strict_mode))); __ mov(r0, Operand(Smi::FromInt(strict_mode)));
__ Push(r1, r0); __ Push(r0);
// Do tail-call to runtime routine. // Do tail-call to runtime routine.
__ TailCallRuntime(Runtime::kSetProperty, 5, 1); __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
} }
......
...@@ -911,12 +911,11 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm, ...@@ -911,12 +911,11 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
// Push receiver, key and value for runtime call. // Push receiver, key and value for runtime call.
__ Push(x2, x1, x0); __ Push(x2, x1, x0);
// Push PropertyAttributes(NONE) and strict_mode for runtime call. // Push strict_mode for runtime call.
STATIC_ASSERT(NONE == 0);
__ Mov(x10, Smi::FromInt(strict_mode)); __ 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, ...@@ -1258,12 +1257,11 @@ void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ Push(x1, x2, x0); __ Push(x1, x2, x0);
__ Mov(x11, Smi::FromInt(NONE)); // PropertyAttributes
__ Mov(x10, Smi::FromInt(strict_mode)); __ Mov(x10, Smi::FromInt(strict_mode));
__ Push(x11, x10); __ Push(x10);
// Do tail-call to runtime routine. // Do tail-call to runtime routine.
__ TailCallRuntime(Runtime::kSetProperty, 5, 1); __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
} }
......
...@@ -795,11 +795,10 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm, ...@@ -795,11 +795,10 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
// Push receiver, key and value for runtime call. // Push receiver, key and value for runtime call.
__ Push(a2, a1, a0); __ Push(a2, a1, a0);
__ li(a1, Operand(Smi::FromInt(NONE))); // PropertyAttributes.
__ li(a0, Operand(Smi::FromInt(strict_mode))); // Strict mode. __ 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, ...@@ -1233,12 +1232,11 @@ void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ Push(a1, a2, a0); __ Push(a1, a2, a0);
__ li(a1, Operand(Smi::FromInt(NONE))); // PropertyAttributes.
__ li(a0, Operand(Smi::FromInt(strict_mode))); __ li(a0, Operand(Smi::FromInt(strict_mode)));
__ Push(a1, a0); __ Push(a0);
// Do tail-call to runtime routine. // Do tail-call to runtime routine.
__ TailCallRuntime(Runtime::kSetProperty, 5, 1); __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
} }
......
...@@ -1148,12 +1148,11 @@ void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm, ...@@ -1148,12 +1148,11 @@ void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ Push(rdx); __ Push(rdx);
__ Push(rcx); __ Push(rcx);
__ Push(rax); __ Push(rax);
__ Push(Smi::FromInt(NONE)); // PropertyAttributes
__ Push(Smi::FromInt(strict_mode)); __ Push(Smi::FromInt(strict_mode));
__ PushReturnAddressFrom(rbx); __ PushReturnAddressFrom(rbx);
// Do tail-call to runtime routine. // 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, ...@@ -1170,12 +1169,11 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ Push(rdx); // receiver __ Push(rdx); // receiver
__ Push(rcx); // key __ Push(rcx); // key
__ Push(rax); // value __ Push(rax); // value
__ Push(Smi::FromInt(NONE)); // PropertyAttributes
__ Push(Smi::FromInt(strict_mode)); // Strict mode. __ Push(Smi::FromInt(strict_mode)); // Strict mode.
__ PushReturnAddressFrom(rbx); __ PushReturnAddressFrom(rbx);
// Do tail-call to runtime routine. // Do tail-call to runtime routine.
__ TailCallRuntime(Runtime::kSetProperty, 5, 1); __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
} }
......
...@@ -1132,12 +1132,11 @@ void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm, ...@@ -1132,12 +1132,11 @@ void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ push(edx); __ push(edx);
__ push(ecx); __ push(ecx);
__ push(eax); __ push(eax);
__ push(Immediate(Smi::FromInt(NONE))); // PropertyAttributes
__ push(Immediate(Smi::FromInt(strict_mode))); __ push(Immediate(Smi::FromInt(strict_mode)));
__ push(ebx); // return address __ push(ebx); // return address
// Do tail-call to runtime routine. // 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, ...@@ -1154,12 +1153,11 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
__ push(edx); __ push(edx);
__ push(ecx); __ push(ecx);
__ push(eax); __ push(eax);
__ push(Immediate(Smi::FromInt(NONE))); // PropertyAttributes
__ push(Immediate(Smi::FromInt(strict_mode))); // Strict mode. __ push(Immediate(Smi::FromInt(strict_mode))); // Strict mode.
__ push(ebx); // return address __ push(ebx); // return address
// Do tail-call to runtime routine. // Do tail-call to runtime routine.
__ TailCallRuntime(Runtime::kSetProperty, 5, 1); __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment