WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
229412
compileEnumeratorHasProperty uses flushRegisters incorrectly
https://bugs.webkit.org/show_bug.cgi?id=229412
Summary
compileEnumeratorHasProperty uses flushRegisters incorrectly
Saam Barati
Reported
2021-08-23 11:15:15 PDT
...
Attachments
patch
(5.40 KB, patch)
2021-08-23 11:38 PDT
,
Saam Barati
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
patch
(3.61 KB, patch)
2021-08-23 12:13 PDT
,
Saam Barati
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Saam Barati
Comment 1
2021-08-23 11:17:39 PDT
<
rdar://82020767
>
Saam Barati
Comment 2
2021-08-23 11:38:44 PDT
Created
attachment 436214
[details]
patch
Keith Miller
Comment 3
2021-08-23 11:49:48 PDT
Comment on
attachment 436214
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=436214&action=review
> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:13723 > + addSlowPathGenerator(slowPathCall(slowCase, this, slowPathFunction, resultRegs, TrustedImmPtr::weakPointer(m_graph, m_graph.globalObjectFor(node->origin.semantic)), baseRegs, propertyNameRegs, indexGPR, modeGPR));
I don't think this is really a slow path. For example, in an indexed for-in loop you'll always take this call. Maybe this should be a silent spill/fill or flush? If you do change it to silent spill/fill can you also fix compileEnumeratorNextUpdatePropertyName to do the same.
Saam Barati
Comment 4
2021-08-23 12:13:24 PDT
Created
attachment 436221
[details]
patch
Keith Miller
Comment 5
2021-08-23 12:14:39 PDT
Comment on
attachment 436221
[details]
patch r=me
EWS
Comment 6
2021-08-23 14:44:27 PDT
Committed
r281473
(
240852@main
): <
https://commits.webkit.org/240852@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 436221
[details]
.
Truitt Savell
Comment 7
2021-08-24 09:50:14 PDT
It looks like the new tests added in
https://trac.webkit.org/changeset/281473/webkit
are constant failing on Debug History example:
https://results.webkit.org/?suite=javascriptcore-tests&test=stress%2Ffor-in-in-by-val-shouldnt-flush-registers.js.no-llint
build:
https://build.webkit.org/#/builders/100/builds/736
Keith Miller
Comment 8
2021-08-24 09:54:28 PDT
(In reply to Truitt Savell from
comment #7
)
> It looks like the new tests added in >
https://trac.webkit.org/changeset/281473/webkit
> are constant failing on Debug > > History example: >
https://results.webkit.org/?suite=javascriptcore-tests&test=stress%2Ffor-in
- > in-by-val-shouldnt-flush-registers.js.no-llint > > build: >
https://build.webkit.org/#/builders/100/builds/736
Seems like a missing exception check. I'll fix.
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