Commit 3dd01f57 authored by ggaren@apple.com's avatar ggaren@apple.com
Browse files

Try to fix the Windows (32-bit) build.

* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_tear_off_arguments):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_tear_off_arguments): Get operands 1 and 2, not 1 and 1. :(

Also took this opportunity to rename to indicate that these values are
not destinations anymore.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 7bce71a6
2012-09-10 Geoffrey Garen <ggaren@apple.com>
Try to fix the Windows (32-bit) build.
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_tear_off_arguments):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_tear_off_arguments): Get operands 1 and 2, not 1 and 1. :(
Also took this opportunity to rename to indicate that these values are
not destinations anymore.
2012-09-10 Geoffrey Garen <ggaren@apple.com>
 
DFG misses arguments tear-off for function.arguments if 'arguments' is used
......
......@@ -569,12 +569,12 @@ void JIT::emit_op_tear_off_activation(Instruction* currentInstruction)
void JIT::emit_op_tear_off_arguments(Instruction* currentInstruction)
{
int dst = currentInstruction[1].u.operand;
int arguments = currentInstruction[1].u.operand;
int activation = currentInstruction[2].u.operand;
Jump argsNotCreated = branchTestPtr(Zero, Address(callFrameRegister, sizeof(Register) * (unmodifiedArgumentsRegister(dst))));
Jump argsNotCreated = branchTestPtr(Zero, Address(callFrameRegister, sizeof(Register) * (unmodifiedArgumentsRegister(arguments))));
JITStubCall stubCall(this, cti_op_tear_off_arguments);
stubCall.addArgument(unmodifiedArgumentsRegister(dst), regT2);
stubCall.addArgument(unmodifiedArgumentsRegister(arguments), regT2);
stubCall.addArgument(activation, regT2);
stubCall.call();
argsNotCreated.link(this);
......
......@@ -712,12 +712,12 @@ void JIT::emit_op_tear_off_activation(Instruction* currentInstruction)
void JIT::emit_op_tear_off_arguments(Instruction* currentInstruction)
{
int dst = currentInstruction[1].u.operand;
int activation = currentInstruction[1].u.operand;
int arguments = currentInstruction[1].u.operand;
int activation = currentInstruction[2].u.operand;
Jump argsNotCreated = branch32(Equal, tagFor(unmodifiedArgumentsRegister(dst)), TrustedImm32(JSValue::EmptyValueTag));
Jump argsNotCreated = branch32(Equal, tagFor(unmodifiedArgumentsRegister(arguments)), TrustedImm32(JSValue::EmptyValueTag));
JITStubCall stubCall(this, cti_op_tear_off_arguments);
stubCall.addArgument(unmodifiedArgumentsRegister(dst));
stubCall.addArgument(unmodifiedArgumentsRegister(arguments));
stubCall.addArgument(activation);
stubCall.call();
argsNotCreated.link(this);
......
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