Title: [157521] trunk/Source/_javascript_Core
- Revision
- 157521
- Author
- mark....@apple.com
- Date
- 2013-10-16 10:26:56 -0700 (Wed, 16 Oct 2013)
Log Message
Transition void cti_op_tear_off* methods to JIT operations for 32 bit.
https://bugs.webkit.org/show_bug.cgi?id=122899.
Reviewed by Michael Saboff.
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_tear_off_activation):
(JSC::JIT::emit_op_tear_off_arguments):
* jit/JITStubs.cpp:
* jit/JITStubs.h:
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (157520 => 157521)
--- trunk/Source/_javascript_Core/ChangeLog 2013-10-16 17:18:05 UTC (rev 157520)
+++ trunk/Source/_javascript_Core/ChangeLog 2013-10-16 17:26:56 UTC (rev 157521)
@@ -1,3 +1,16 @@
+2013-10-16 Mark Lam <mark....@apple.com>
+
+ Transition void cti_op_tear_off* methods to JIT operations for 32 bit.
+ https://bugs.webkit.org/show_bug.cgi?id=122899.
+
+ Reviewed by Michael Saboff.
+
+ * jit/JITOpcodes32_64.cpp:
+ (JSC::JIT::emit_op_tear_off_activation):
+ (JSC::JIT::emit_op_tear_off_arguments):
+ * jit/JITStubs.cpp:
+ * jit/JITStubs.h:
+
2013-10-16 Julien Brianceau <jbria...@cisco.com>
Remove more of the UNINTERRUPTED_SEQUENCE thing
Modified: trunk/Source/_javascript_Core/jit/JITOpcodes32_64.cpp (157520 => 157521)
--- trunk/Source/_javascript_Core/jit/JITOpcodes32_64.cpp 2013-10-16 17:18:05 UTC (rev 157520)
+++ trunk/Source/_javascript_Core/jit/JITOpcodes32_64.cpp 2013-10-16 17:26:56 UTC (rev 157521)
@@ -389,9 +389,8 @@
{
int activation = currentInstruction[1].u.operand;
Jump activationNotCreated = branch32(Equal, tagFor(activation), TrustedImm32(JSValue::EmptyValueTag));
- JITStubCall stubCall(this, cti_op_tear_off_activation);
- stubCall.addArgument(activation);
- stubCall.call();
+ emitLoadPayload(activation, regT0);
+ callOperation(operationTearOffActivation, regT0);
activationNotCreated.link(this);
}
@@ -401,10 +400,9 @@
int activation = currentInstruction[2].u.operand;
Jump argsNotCreated = branch32(Equal, tagFor(unmodifiedArgumentsRegister(arguments).offset()), TrustedImm32(JSValue::EmptyValueTag));
- JITStubCall stubCall(this, cti_op_tear_off_arguments);
- stubCall.addArgument(unmodifiedArgumentsRegister(arguments).offset());
- stubCall.addArgument(activation);
- stubCall.call();
+ emitLoadPayload(unmodifiedArgumentsRegister(VirtualRegister(arguments)).offset(), regT0);
+ emitLoadPayload(activation, regT1);
+ callOperation(operationTearOffArguments, regT0, regT1);
argsNotCreated.link(this);
}
Modified: trunk/Source/_javascript_Core/jit/JITStubs.cpp (157520 => 157521)
--- trunk/Source/_javascript_Core/jit/JITStubs.cpp 2013-10-16 17:18:05 UTC (rev 157520)
+++ trunk/Source/_javascript_Core/jit/JITStubs.cpp 2013-10-16 17:26:56 UTC (rev 157521)
@@ -288,28 +288,6 @@
return JSValue::encode(result);
}
-DEFINE_STUB_FUNCTION(void, op_tear_off_activation)
-{
- STUB_INIT_STACK_FRAME(stackFrame);
-
- ASSERT(stackFrame.callFrame->codeBlock()->needsFullScopeChain());
- jsCast<JSActivation*>(stackFrame.args[0].jsValue())->tearOff(*stackFrame.vm);
-}
-
-DEFINE_STUB_FUNCTION(void, op_tear_off_arguments)
-{
- STUB_INIT_STACK_FRAME(stackFrame);
-
- CallFrame* callFrame = stackFrame.callFrame;
- ASSERT(callFrame->codeBlock()->usesArguments());
- Arguments* arguments = jsCast<Arguments*>(stackFrame.args[0].jsValue());
- if (JSValue activationValue = stackFrame.args[1].jsValue()) {
- arguments->didTearOffActivation(callFrame, jsCast<JSActivation*>(activationValue));
- return;
- }
- arguments->tearOff(callFrame);
-}
-
static JSValue getByVal(
CallFrame* callFrame, JSValue baseValue, JSValue subscript, ReturnAddressPtr returnAddress)
{
Modified: trunk/Source/_javascript_Core/jit/JITStubs.h (157520 => 157521)
--- trunk/Source/_javascript_Core/jit/JITStubs.h 2013-10-16 17:18:05 UTC (rev 157520)
+++ trunk/Source/_javascript_Core/jit/JITStubs.h 2013-10-16 17:26:56 UTC (rev 157521)
@@ -361,8 +361,6 @@
EncodedJSValue JIT_STUB cti_op_get_by_val_string(STUB_ARGS_DECLARATION) WTF_INTERNAL;
void JIT_STUB cti_op_put_by_val(STUB_ARGS_DECLARATION) WTF_INTERNAL;
void JIT_STUB cti_op_put_by_val_generic(STUB_ARGS_DECLARATION) WTF_INTERNAL;
-void JIT_STUB cti_op_tear_off_activation(STUB_ARGS_DECLARATION) WTF_INTERNAL;
-void JIT_STUB cti_op_tear_off_arguments(STUB_ARGS_DECLARATION) WTF_INTERNAL;
void JIT_STUB cti_op_throw_static_error(STUB_ARGS_DECLARATION) WTF_INTERNAL;
void* JIT_STUB cti_op_throw(STUB_ARGS_DECLARATION) WTF_INTERNAL;
void* JIT_STUB cti_vm_throw(STUB_ARGS_DECLARATION) REFERENCED_FROM_ASM WTF_INTERNAL;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes