Bug 176590

Summary: [DFG][FTL] GetByVal(ObjectUse with Array::Generic, StringUse/SymbolUse) should be supported
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: JavaScriptCoreAssignee: Yusuke Suzuki <ysuzuki>
Status: RESOLVED FIXED    
Severity: Normal CC: buildbot, keith_miller, mark.lam, msaboff, saam, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch saam: review+

Yusuke Suzuki
Reported 2017-09-08 05:58:48 PDT
We can find the code like, var dispatchTable = { "xxx": function () { ... }, "yyy": ..., ... }; dispatchTable[xxx]() In the above case, we can easily find 1. dispatchTable is Cell 2. xxx is String I find it in Octane/TypeScript. Currently, we always go to operationGetByVal, which is too generic method.
Attachments
Patch (15.79 KB, patch)
2017-09-08 07:30 PDT, Yusuke Suzuki
no flags
Patch (16.07 KB, patch)
2017-09-08 07:41 PDT, Yusuke Suzuki
saam: review+
Yusuke Suzuki
Comment 1 2017-09-08 07:30:35 PDT
Yusuke Suzuki
Comment 2 2017-09-08 07:41:07 PDT
Saam Barati
Comment 3 2017-09-08 07:53:00 PDT
Comment on attachment 320263 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=320263&action=review > Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:3175 > + JSValueRegs resultRegs = result.regs(); Is it worth using the FlushedCallResult (I forget actual class name) here?
Yusuke Suzuki
Comment 4 2017-09-08 08:07:16 PDT
Comment on attachment 320263 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=320263&action=review >> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:3175 >> + JSValueRegs resultRegs = result.regs(); > > Is it worth using the FlushedCallResult (I forget actual class name) here? Sounds good. Fixed.
Yusuke Suzuki
Comment 5 2017-09-08 08:36:25 PDT
Radar WebKit Bug Importer
Comment 6 2017-09-27 12:37:17 PDT
Note You need to log in before you can comment on or make changes to this bug.