Changeset 157521 in webkit
- Timestamp:
- Oct 16, 2013, 10:26:56 AM (11 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r157500 r157521 1 2013-10-16 Mark Lam <mark.lam@apple.com> 2 3 Transition void cti_op_tear_off* methods to JIT operations for 32 bit. 4 https://bugs.webkit.org/show_bug.cgi?id=122899. 5 6 Reviewed by Michael Saboff. 7 8 * jit/JITOpcodes32_64.cpp: 9 (JSC::JIT::emit_op_tear_off_activation): 10 (JSC::JIT::emit_op_tear_off_arguments): 11 * jit/JITStubs.cpp: 12 * jit/JITStubs.h: 13 1 14 2013-10-16 Julien Brianceau <jbriance@cisco.com> 2 15 -
trunk/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp
r157457 r157521 390 390 int activation = currentInstruction[1].u.operand; 391 391 Jump activationNotCreated = branch32(Equal, tagFor(activation), TrustedImm32(JSValue::EmptyValueTag)); 392 JITStubCall stubCall(this, cti_op_tear_off_activation); 393 stubCall.addArgument(activation); 394 stubCall.call(); 392 emitLoadPayload(activation, regT0); 393 callOperation(operationTearOffActivation, regT0); 395 394 activationNotCreated.link(this); 396 395 } … … 402 401 403 402 Jump argsNotCreated = branch32(Equal, tagFor(unmodifiedArgumentsRegister(arguments).offset()), TrustedImm32(JSValue::EmptyValueTag)); 404 JITStubCall stubCall(this, cti_op_tear_off_arguments); 405 stubCall.addArgument(unmodifiedArgumentsRegister(arguments).offset()); 406 stubCall.addArgument(activation); 407 stubCall.call(); 403 emitLoadPayload(unmodifiedArgumentsRegister(VirtualRegister(arguments)).offset(), regT0); 404 emitLoadPayload(activation, regT1); 405 callOperation(operationTearOffArguments, regT0, regT1); 408 406 argsNotCreated.link(this); 409 407 } -
trunk/Source/JavaScriptCore/jit/JITStubs.cpp
r157480 r157521 289 289 } 290 290 291 DEFINE_STUB_FUNCTION(void, op_tear_off_activation)292 {293 STUB_INIT_STACK_FRAME(stackFrame);294 295 ASSERT(stackFrame.callFrame->codeBlock()->needsFullScopeChain());296 jsCast<JSActivation*>(stackFrame.args[0].jsValue())->tearOff(*stackFrame.vm);297 }298 299 DEFINE_STUB_FUNCTION(void, op_tear_off_arguments)300 {301 STUB_INIT_STACK_FRAME(stackFrame);302 303 CallFrame* callFrame = stackFrame.callFrame;304 ASSERT(callFrame->codeBlock()->usesArguments());305 Arguments* arguments = jsCast<Arguments*>(stackFrame.args[0].jsValue());306 if (JSValue activationValue = stackFrame.args[1].jsValue()) {307 arguments->didTearOffActivation(callFrame, jsCast<JSActivation*>(activationValue));308 return;309 }310 arguments->tearOff(callFrame);311 }312 313 291 static JSValue getByVal( 314 292 CallFrame* callFrame, JSValue baseValue, JSValue subscript, ReturnAddressPtr returnAddress) -
trunk/Source/JavaScriptCore/jit/JITStubs.h
r157480 r157521 362 362 void JIT_STUB cti_op_put_by_val(STUB_ARGS_DECLARATION) WTF_INTERNAL; 363 363 void JIT_STUB cti_op_put_by_val_generic(STUB_ARGS_DECLARATION) WTF_INTERNAL; 364 void JIT_STUB cti_op_tear_off_activation(STUB_ARGS_DECLARATION) WTF_INTERNAL;365 void JIT_STUB cti_op_tear_off_arguments(STUB_ARGS_DECLARATION) WTF_INTERNAL;366 364 void JIT_STUB cti_op_throw_static_error(STUB_ARGS_DECLARATION) WTF_INTERNAL; 367 365 void* JIT_STUB cti_op_throw(STUB_ARGS_DECLARATION) WTF_INTERNAL;
Note:
See TracChangeset
for help on using the changeset viewer.