WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
209327
[JSC] DFG OSR exit cannot find StructureStubInfo for put_by_val if CodeBlock is once converved from Baseline to LLInt
https://bugs.webkit.org/show_bug.cgi?id=209327
Summary
[JSC] DFG OSR exit cannot find StructureStubInfo for put_by_val if CodeBlock ...
Yusuke Suzuki
Reported
2020-03-20 00:53:30 PDT
[JSC] DFG OSR exit cannot find StructureStubInfo for put_by_val if CodeBlock is once converved from Baseline to LLInt
Attachments
Patch
(13.47 KB, patch)
2020-03-20 00:56 PDT
,
Yusuke Suzuki
saam
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Yusuke Suzuki
Comment 1
2020-03-20 00:56:16 PDT
Created
attachment 394071
[details]
Patch
Yusuke Suzuki
Comment 2
2020-03-20 00:56:18 PDT
<
rdar://problem/60631061
>
Saam Barati
Comment 3
2020-03-23 13:00:37 PDT
Comment on
attachment 394071
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=394071&action=review
> Source/JavaScriptCore/ChangeLog:15 > + 3. Since (A) collects enough information for put_by_val, (B) can get StructureStubInfo from (A) and copmile it as inlined Setter call.
copmile => compile
> Source/JavaScriptCore/ChangeLog:20 > + We should just link to doneTarget of ByValInfo when the SetterCall is generated by `op_put_by_val`. ByValInfo and its doneTarget always exists per op_put_by_val.
nice. Once we make put_by_val SSI based, this will just go away too
> Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp:216 > + StructureStubInfo* stubInfo = baselineCodeBlockForCaller->findStubInfo(CodeOrigin(callBytecodeIndex));
move this after the if?
Yusuke Suzuki
Comment 4
2020-03-23 14:06:51 PDT
Comment on
attachment 394071
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=394071&action=review
>> Source/JavaScriptCore/ChangeLog:15 >> + 3. Since (A) collects enough information for put_by_val, (B) can get StructureStubInfo from (A) and copmile it as inlined Setter call. > > copmile => compile
Fixed.
>> Source/JavaScriptCore/ChangeLog:20 >> + We should just link to doneTarget of ByValInfo when the SetterCall is generated by `op_put_by_val`. ByValInfo and its doneTarget always exists per op_put_by_val. > > nice. Once we make put_by_val SSI based, this will just go away too
Yeah, right.
>> Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp:216 >> + StructureStubInfo* stubInfo = baselineCodeBlockForCaller->findStubInfo(CodeOrigin(callBytecodeIndex)); > > move this after the if?
Nice catch. Fixed.
Yusuke Suzuki
Comment 5
2020-03-23 14:09:27 PDT
Committed
r258874
: <
https://trac.webkit.org/changeset/258874
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug