Bug 122757

Summary: Transition *switch* and *scope* JITStubs to JIT operations
Product: WebKit Reporter: Mark Lam <mark.lam>
Component: JavaScriptCoreAssignee: Mark Lam <mark.lam>
Status: RESOLVED FIXED    
Severity: Normal CC: fpizlo, ggaren, mhahnenberg, msaboff, oliver
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 122287    
Attachments:
Description Flags
the patch. ggaren: review+

Mark Lam
Reported 2013-10-14 09:53:13 PDT
Transitioning: cti_op_switch_char cti_op_switch_imm cti_op_switch_string cti_op_resolve_scope cti_op_get_from_scope cti_op_put_to_scope
Attachments
the patch. (30.44 KB, patch)
2013-10-14 16:02 PDT, Mark Lam
ggaren: review+
Mark Lam
Comment 1 2013-10-14 16:02:46 PDT
Created attachment 214202 [details] the patch.
Geoffrey Garen
Comment 2 2013-10-14 19:35:14 PDT
Comment on attachment 214202 [details] the patch. View in context: https://bugs.webkit.org/attachment.cgi?id=214202&action=review Needs some fixes before landing. > Source/JavaScriptCore/jit/JITOpcodes32_64.cpp:1009 > + ASSERT(returnValueRegister == regT0); > jump(regT0); Please use returnValueRegister in the jump, and remove the ASSERT. > Source/JavaScriptCore/jit/JITOpcodes32_64.cpp:1026 > + ASSERT(returnValueRegister == regT0); > jump(regT0); Ditto. > Source/JavaScriptCore/jit/JITOpcodes32_64.cpp:1042 > + ASSERT(returnValueRegister == regT0); > jump(regT0); Ditto. > Source/JavaScriptCore/jit/JITOpcodes.cpp:695 > + emitGetVirtualRegister(scrutinee, regT1); > + callOperation(operationSwitchImmWithUnknownKeyType, regT1, tableIndex); This should be regT0. > Source/JavaScriptCore/jit/JITOpcodes.cpp:697 > + ASSERT(returnValueRegister == regT0); > jump(regT0); This should be returnValueRegister. > Source/JavaScriptCore/jit/JITOpcodes.cpp:712 > + emitGetVirtualRegister(scrutinee, regT1); > + callOperation(operationSwitchCharWithUnknownKeyType, regT1, tableIndex); regT0. > Source/JavaScriptCore/jit/JITOpcodes.cpp:714 > + ASSERT(returnValueRegister == regT0); > jump(regT0); returnValueRegister. > Source/JavaScriptCore/jit/JITOpcodes.cpp:730 > + emitGetVirtualRegister(scrutinee, regT1); > + callOperation(operationSwitchStringWithUnknownKeyType, regT1, tableIndex); > + ASSERT(returnValueRegister == regT0); > jump(regT0); Ditto.
Mark Lam
Comment 3 2013-10-14 20:03:35 PDT
Thanks for the review. Remaining issues have been fixed. Landed in r157439: <http://trac.webkit.org/r157439>.
Note You need to log in before you can comment on or make changes to this bug.