Changeset 157797 in webkit
- Timestamp:
- Oct 22, 2013 10:04:59 AM (11 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r157796 r157797 1 2013-10-22 Julien Brianceau <jbriance@cisco.com> 2 3 [sh4][mips][arm] Fix crashes in JSC (32-bit only). 4 https://bugs.webkit.org/show_bug.cgi?id=123165 5 6 Reviewed by Michael Saboff. 7 8 * jit/JITInlines.h: 9 (JSC::JIT::callOperationNoExceptionCheck): Add missing EABI_32BIT_DUMMY_ARG. 10 (JSC::JIT::callOperation): The last TrustedImm32(arg3) is a bit overkill for SH4 :) 11 (JSC::JIT::callOperation): Add missing EABI_32BIT_DUMMY_ARG. 12 (JSC::JIT::callOperation): Fix tag and payload order for V_JITOperation_EJJJ prototype. 13 1 14 2013-10-22 Julien Brianceau <jbriance@cisco.com> 2 15 -
trunk/Source/JavaScriptCore/jit/JITInlines.h
r157668 r157797 433 433 ALWAYS_INLINE MacroAssembler::Call JIT::callOperationNoExceptionCheck(V_JITOperation_EJ operation, GPRReg arg1Tag, GPRReg arg1Payload) 434 434 { 435 setupArgumentsWithExecState( arg1Payload, arg1Tag);435 setupArgumentsWithExecState(EABI_32BIT_DUMMY_ARG arg1Payload, arg1Tag); 436 436 updateTopCallFrame(); 437 437 return appendCall(operation); … … 442 442 #if CPU(SH4) 443 443 // We have to put arg3 in the 4th argument register (r7) as 64-bit value arg2 will be put on stack for sh4 architecure. 444 setupArgumentsWithExecState(arg1Payload, arg1Tag, TrustedImm32(arg3), arg2Payload, arg2Tag , TrustedImm32(arg3));444 setupArgumentsWithExecState(arg1Payload, arg1Tag, TrustedImm32(arg3), arg2Payload, arg2Tag); 445 445 #else 446 446 setupArgumentsWithExecState(EABI_32BIT_DUMMY_ARG arg1Payload, arg1Tag, arg2Payload, arg2Tag, TrustedImm32(arg3)); … … 511 511 ALWAYS_INLINE MacroAssembler::Call JIT::callOperation(V_JITOperation_EJ operation, RegisterID regOp1Tag, RegisterID regOp1Payload) 512 512 { 513 setupArgumentsWithExecState( regOp1Payload, regOp1Tag);513 setupArgumentsWithExecState(EABI_32BIT_DUMMY_ARG regOp1Payload, regOp1Tag); 514 514 return appendCallWithExceptionCheck(operation); 515 515 } … … 527 527 } 528 528 529 ALWAYS_INLINE MacroAssembler::Call JIT::callOperation(V_JITOperation_EJJJ operation, RegisterID regOp1 Payload, RegisterID regOp1Tag, RegisterID regOp2Payload, RegisterID regOp2Tag, RegisterID regOp3Payload, RegisterID regOp3Tag)529 ALWAYS_INLINE MacroAssembler::Call JIT::callOperation(V_JITOperation_EJJJ operation, RegisterID regOp1Tag, RegisterID regOp1Payload, RegisterID regOp2Tag, RegisterID regOp2Payload, RegisterID regOp3Tag, RegisterID regOp3Payload) 530 530 { 531 531 setupArgumentsWithExecState(EABI_32BIT_DUMMY_ARG regOp1Payload, regOp1Tag, SH4_32BIT_DUMMY_ARG regOp2Payload, regOp2Tag, regOp3Payload, regOp3Tag);
Note: See TracChangeset
for help on using the changeset viewer.