WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
194944
[JSC] We should consider moving UnlinkedFunctionExecutable::m_parentScopeTDZVariables to RareData
https://bugs.webkit.org/show_bug.cgi?id=194944
Summary
[JSC] We should consider moving UnlinkedFunctionExecutable::m_parentScopeTDZV...
Caio Lima
Reported
2019-02-22 07:19:00 PST
Based on profiling data on Speedometer2, JetStream2, Kranken, Octane and LongSpider, `UnlinkedFunctionExecutable::m_parentScopeTDZVariables` often is carrying an empty VariableEnvironment (see results below). In such case, we should consider move it to RareData and ensure it only when `parentScopeTDZVariables` is not empty.
Attachments
WIP - Patch
(21.29 KB, patch)
2019-02-26 19:11 PST
,
Caio Lima
no flags
Details
Formatted Diff
Diff
WIP - Patch
(21.20 KB, patch)
2019-02-26 19:37 PST
,
Caio Lima
no flags
Details
Formatted Diff
Diff
Archive of layout-test-results from ews126 for ios-simulator-wk2
(2.55 MB, application/zip)
2019-02-26 22:51 PST
,
EWS Watchlist
no flags
Details
Patch
(22.32 KB, patch)
2019-02-28 09:59 PST
,
Caio Lima
no flags
Details
Formatted Diff
Diff
Patch
(23.85 KB, patch)
2019-03-18 10:27 PDT
,
Caio Lima
no flags
Details
Formatted Diff
Diff
Patch
(23.87 KB, patch)
2019-04-01 08:43 PDT
,
Caio Lima
no flags
Details
Formatted Diff
Diff
Patch
(23.82 KB, patch)
2019-04-04 07:30 PDT
,
Caio Lima
no flags
Details
Formatted Diff
Diff
Show Obsolete
(6)
View All
Add attachment
proposed patch, testcase, etc.
Caio Lima
Comment 1
2019-02-22 07:20:27 PST
Data collected from Speedometer2 Total number of UFE: 39463 Total number of non-empty parentScopeTDZVars: 428 Data collected from JetStream2 Total number of UFE: 83715 Total number of non-empty parentScopeTDZVars: 5285 Data from other benchmarks Octane/jquery Total number of UFE: 75334 Total number of non-empty VarEnv: 10 Octane/typescript Total number of UFE: 1773 Total number of non-empty VarEnv: 10 Octane/pdfjs Total number of UFE: 1047 Total number of non-empty VarEnv: 10
Caio Lima
Comment 2
2019-02-26 19:11:55 PST
Created
attachment 363057
[details]
WIP - Patch
Caio Lima
Comment 3
2019-02-26 19:37:07 PST
Created
attachment 363060
[details]
WIP - Patch
EWS Watchlist
Comment 4
2019-02-26 22:51:06 PST
Comment on
attachment 363060
[details]
WIP - Patch
Attachment 363060
[details]
did not pass ios-sim-ews (ios-simulator-wk2): Output:
https://webkit-queues.webkit.org/results/11299222
New failing tests: fast/viewport/ios/device-width-viewport-after-changing-view-scale.html
EWS Watchlist
Comment 5
2019-02-26 22:51:08 PST
Created
attachment 363074
[details]
Archive of layout-test-results from ews126 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews126 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.6
Caio Lima
Comment 6
2019-02-28 09:59:56 PST
Created
attachment 363233
[details]
Patch
Caio Lima
Comment 7
2019-03-18 10:27:08 PDT
Created
attachment 365027
[details]
Patch
Caio Lima
Comment 8
2019-03-25 12:47:55 PDT
Ping Review
Caio Lima
Comment 9
2019-04-01 08:43:25 PDT
Created
attachment 366398
[details]
Patch
Keith Miller
Comment 10
2019-04-03 15:04:52 PDT
Comment on
attachment 366398
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=366398&action=review
r=me with some comments.
> Source/JavaScriptCore/ChangeLog:3 > + [JSC] We should consider move UnlinkedFunctionExecutable::m_parentScopeTDZVariables to RareData
typo: move=>moving.
> Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h:1278 > + bool m_cachedVariablesUnderTDZIsEmpty { false };
Nit: I think this is clearer as m_hasCachedVariablesUnderTDZ since that's the active tense.
Caio Lima
Comment 11
2019-04-04 07:30:40 PDT
Created
attachment 366709
[details]
Patch
Caio Lima
Comment 12
2019-04-04 09:54:32 PDT
Comment on
attachment 366709
[details]
Patch Thank you very much for the review!
WebKit Commit Bot
Comment 13
2019-04-04 10:21:21 PDT
Comment on
attachment 366709
[details]
Patch Clearing flags on attachment: 366709 Committed
r243875
: <
https://trac.webkit.org/changeset/243875
>
WebKit Commit Bot
Comment 14
2019-04-04 10:21:23 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 15
2019-04-04 10:22:24 PDT
<
rdar://problem/49611795
>
Saam Barati
Comment 16
2019-04-04 16:10:48 PDT
(In reply to Caio Lima from
comment #1
)
> Data collected from Speedometer2 > > Total number of UFE: 39463 > Total number of non-empty parentScopeTDZVars: 428 > > Data collected from JetStream2 > > Total number of UFE: 83715 > Total number of non-empty parentScopeTDZVars: 5285 > > Data from other benchmarks > > Octane/jquery > Total number of UFE: 75334 > Total number of non-empty VarEnv: 10 > > Octane/typescript > Total number of UFE: 1773 > Total number of non-empty VarEnv: 10 > > Octane/pdfjs > Total number of UFE: 1047 > Total number of non-empty VarEnv: 10
What about all of JetStream 2?
Caio Lima
Comment 17
2019-04-24 11:13:36 PDT
(In reply to Saam Barati from
comment #16
)
> (In reply to Caio Lima from
comment #1
) > > Data collected from Speedometer2 > > > > Total number of UFE: 39463 > > Total number of non-empty parentScopeTDZVars: 428 > > > > Data collected from JetStream2 > > > > Total number of UFE: 83715 > > Total number of non-empty parentScopeTDZVars: 5285 > > > > Data from other benchmarks > > > > Octane/jquery > > Total number of UFE: 75334 > > Total number of non-empty VarEnv: 10 > > > > Octane/typescript > > Total number of UFE: 1773 > > Total number of non-empty VarEnv: 10 > > > > Octane/pdfjs > > Total number of UFE: 1047 > > Total number of non-empty VarEnv: 10 > > What about all of JetStream 2?
Numbers shows that 6% of total number of UnlinkedFunctionExecutable have non-empty VariableEnvironment. I'm not sure what is the policy to move something to RareData, but I think we should consider this a case to be rare.
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