Bug 38814

Summary: Improve string indexing performance
Product: WebKit Reporter: Oliver Hunt <oliver>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: fu
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Other   
OS: OS X 10.5   
Attachments:
Description Flags
Patch
none
Patch mjs: review+

Oliver Hunt
Reported 2010-05-09 02:05:42 PDT
Improve string indexing performance
Attachments
Patch (11.43 KB, patch)
2010-05-09 02:38 PDT, Oliver Hunt
no flags
Patch (11.56 KB, patch)
2010-05-09 02:42 PDT, Oliver Hunt
mjs: review+
Oliver Hunt
Comment 1 2010-05-09 02:38:51 PDT
Oliver Hunt
Comment 2 2010-05-09 02:42:33 PDT
Maciej Stachowiak
Comment 3 2010-05-09 03:14:49 PDT
Comment on attachment 55497 [details] Patch r=me
Oliver Hunt
Comment 4 2010-05-09 04:42:37 PDT
Chao-ying Fu
Comment 5 2010-05-12 16:40:10 PDT
Hi, I think the code in JIT::stringGetByValStubGenerator() may contain redundant code. Ex: ... #if USE(JSVALUE64) jit.zeroExtend32ToPtr(regT1, regT1); #else jit.emitFastArithImmToInt(regT1); #endif ... The same code appears in "JIT::emit_op_get_by_val()". So, we may execute one more time in stringGetByValStubGenerator(). I need to comment out jit.emitFastArithImmToInt(regT1) for MIPS to fix two new regressions. Otherwise, regT1 is shifted right by 1 bit (twice) and the index to a string is wrong. Thanks a lot! Ex: # svn diff JITPropertyAccess.cpp ... -#if USE(JSVALUE64) - jit.zeroExtend32ToPtr(regT1, regT1); -#else - jit.emitFastArithImmToInt(regT1); -#endif Regards, Chao-ying
Note You need to log in before you can comment on or make changes to this bug.