WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
206571
[JSC] Add CheckArrayOrEmpty to handle the case when hoisting CheckArray for places where input can be empty
https://bugs.webkit.org/show_bug.cgi?id=206571
Summary
[JSC] Add CheckArrayOrEmpty to handle the case when hoisting CheckArray for p...
Yusuke Suzuki
Reported
2020-01-21 23:12:21 PST
[JSC] Add CheckArrayOrEmpty to handle the case when hoisting CheckArray for places where input can be empty
Attachments
Patch
(31.70 KB, patch)
2020-01-21 23:18 PST
,
Yusuke Suzuki
saam
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Yusuke Suzuki
Comment 1
2020-01-21 23:18:38 PST
Created
attachment 388398
[details]
Patch
Yusuke Suzuki
Comment 2
2020-01-21 23:19:10 PST
<
rdar://problem/58757016
>
Saam Barati
Comment 3
2020-01-22 08:33:03 PST
Comment on
attachment 388398
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=388398&action=review
> Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:287 > + // check just remains, and it works as CheckArrayOrEmpty without ArrayMode checking.
Seems like we should also have an assert here like speculatedTypeForUseKind(node->child1().useKind()) & SpecEmpty
> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:832 > + // We can purge Empty check completely in this case of CheckArrayOrEmpty since CellUse only accepts SpecCell | SpecEmpty.
Ditto
Yusuke Suzuki
Comment 4
2020-01-22 12:33:06 PST
Comment on
attachment 388398
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=388398&action=review
>> Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:287 >> + // check just remains, and it works as CheckArrayOrEmpty without ArrayMode checking. > > Seems like we should also have an assert here like > speculatedTypeForUseKind(node->child1().useKind()) & SpecEmpty
Fixed.
>> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:832 >> + // We can purge Empty check completely in this case of CheckArrayOrEmpty since CellUse only accepts SpecCell | SpecEmpty. > > Ditto
Fixed.
Yusuke Suzuki
Comment 5
2020-01-22 12:45:43 PST
Committed
r254936
: <
https://trac.webkit.org/changeset/254936
>
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