-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(es/compat): Consider only the variables used in the closure (#9151)
**Description:** The original code separately records the usage of variables and checks if there is a closure. Changed to only record variables used in a closure. **Related issue:** - Closes #8010
- Loading branch information
Showing
3 changed files
with
32 additions
and
79 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5 changes: 5 additions & 0 deletions
5
crates/swc_ecma_transforms_compat/tests/for-of/issue-8010/1/exec.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
for (const x of [0, 1, 2]) { | ||
for (let i = 0; i < 1; i++) { | ||
setTimeout(() => console.log(x)); | ||
} | ||
} |
1357531
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark
es/full/bugs-1
276264
ns/iter (± 4280
)298460
ns/iter (± 10054
)0.93
es/full/minify/libraries/antd
1857086591
ns/iter (± 57439258
)1764116943
ns/iter (± 41952085
)1.05
es/full/minify/libraries/d3
349771983
ns/iter (± 6156695
)339999139
ns/iter (± 2203273
)1.03
es/full/minify/libraries/echarts
1701472005
ns/iter (± 80898405
)1507558401
ns/iter (± 45124935
)1.13
es/full/minify/libraries/jquery
102722069
ns/iter (± 523505
)101931554
ns/iter (± 259535
)1.01
es/full/minify/libraries/lodash
114175080
ns/iter (± 850461
)113140629
ns/iter (± 152393
)1.01
es/full/minify/libraries/moment
59636563
ns/iter (± 169216
)59318726
ns/iter (± 141632
)1.01
es/full/minify/libraries/react
18428071
ns/iter (± 76152
)18361232
ns/iter (± 244292
)1.00
es/full/minify/libraries/terser
274585797
ns/iter (± 2400547
)272681248
ns/iter (± 1471280
)1.01
es/full/minify/libraries/three
489000147
ns/iter (± 14874849
)463614110
ns/iter (± 2733797
)1.05
es/full/minify/libraries/typescript
3325506318
ns/iter (± 84602226
)3229179723
ns/iter (± 46371067
)1.03
es/full/minify/libraries/victory
773517990
ns/iter (± 20949161
)731847705
ns/iter (± 9130991
)1.06
es/full/minify/libraries/vue
145742194
ns/iter (± 879256
)144868295
ns/iter (± 261022
)1.01
es/full/codegen/es3
60252
ns/iter (± 604
)59628
ns/iter (± 157
)1.01
es/full/codegen/es5
60282
ns/iter (± 117
)59679
ns/iter (± 124
)1.01
es/full/codegen/es2015
60071
ns/iter (± 315
)59592
ns/iter (± 97
)1.01
es/full/codegen/es2016
60182
ns/iter (± 162
)59753
ns/iter (± 138
)1.01
es/full/codegen/es2017
60050
ns/iter (± 156
)59587
ns/iter (± 180
)1.01
es/full/codegen/es2018
60173
ns/iter (± 202
)59638
ns/iter (± 2441
)1.01
es/full/codegen/es2019
60059
ns/iter (± 191
)59683
ns/iter (± 184
)1.01
es/full/codegen/es2020
60025
ns/iter (± 198
)59790
ns/iter (± 43
)1.00
es/full/all/es3
161791369
ns/iter (± 1391147
)161531179
ns/iter (± 1449389
)1.00
es/full/all/es5
154831080
ns/iter (± 990654
)154365543
ns/iter (± 1326644
)1.00
es/full/all/es2015
114158523
ns/iter (± 705833
)113877741
ns/iter (± 758931
)1.00
es/full/all/es2016
114051443
ns/iter (± 827275
)112949934
ns/iter (± 1021040
)1.01
es/full/all/es2017
112554734
ns/iter (± 948902
)112411492
ns/iter (± 553617
)1.00
es/full/all/es2018
111791956
ns/iter (± 790011
)109963218
ns/iter (± 1285595
)1.02
es/full/all/es2019
109733158
ns/iter (± 452843
)109939330
ns/iter (± 1174177
)1.00
es/full/all/es2020
105932397
ns/iter (± 841242
)105418923
ns/iter (± 801095
)1.00
es/full/parser
457769
ns/iter (± 2757
)445309
ns/iter (± 2199
)1.03
es/full/base/fixer
15905
ns/iter (± 89
)14970
ns/iter (± 39
)1.06
es/full/base/resolver_and_hygiene
80626
ns/iter (± 359
)79214
ns/iter (± 234
)1.02
serialization of serde
278
ns/iter (± 1
)270
ns/iter (± 3
)1.03
css/minify/libraries/bootstrap
21649918
ns/iter (± 28853
)21513667
ns/iter (± 305963
)1.01
css/visitor/compare/clone
1398587
ns/iter (± 8920
)1394581
ns/iter (± 12945
)1.00
css/visitor/compare/visit_mut_span
1528992
ns/iter (± 18414
)1529850
ns/iter (± 6381
)1.00
css/visitor/compare/visit_mut_span_panic
1538564
ns/iter (± 39921
)1544454
ns/iter (± 25559
)1.00
css/visitor/compare/fold_span
2049387
ns/iter (± 5984
)2028952
ns/iter (± 6000
)1.01
css/visitor/compare/fold_span_panic
2171423
ns/iter (± 6708
)2171715
ns/iter (± 9687
)1.00
css/lexer/bootstrap_5_1_3
3472155
ns/iter (± 6125
)3485162
ns/iter (± 35680
)1.00
css/lexer/foundation_6_7_4
2799484
ns/iter (± 6746
)2818035
ns/iter (± 2234
)0.99
css/lexer/tailwind_3_1_1
534455
ns/iter (± 532
)540566
ns/iter (± 2110
)0.99
css/parser/bootstrap_5_1_3
16462406
ns/iter (± 102513
)16218676
ns/iter (± 57732
)1.02
css/parser/foundation_6_7_4
13085583
ns/iter (± 146975
)13075924
ns/iter (± 95241
)1.00
css/parser/tailwind_3_1_1
2521371
ns/iter (± 44381
)2587885
ns/iter (± 14013
)0.97
es/codegen/colors
730991
ns/iter (± 398629
)728089
ns/iter (± 405441
)1.00
es/codegen/large
3028408
ns/iter (± 1596683
)3033992
ns/iter (± 1635266
)1.00
es/codegen/with-parser/colors
40515
ns/iter (± 1148
)41021
ns/iter (± 536
)0.99
es/codegen/with-parser/large
450776
ns/iter (± 1577
)456674
ns/iter (± 2100
)0.99
es/minify/libraries/antd
1605231976
ns/iter (± 22529159
)1449953070
ns/iter (± 45112603
)1.11
es/minify/libraries/d3
346451051
ns/iter (± 13319465
)289459221
ns/iter (± 14552072
)1.20
es/minify/libraries/echarts
1363015314
ns/iter (± 20594018
)1183775098
ns/iter (± 17167056
)1.15
es/minify/libraries/jquery
87405777
ns/iter (± 755817
)82780174
ns/iter (± 481279
)1.06
es/minify/libraries/lodash
108754147
ns/iter (± 1122301
)104759416
ns/iter (± 462313
)1.04
es/minify/libraries/moment
50208110
ns/iter (± 464568
)48476789
ns/iter (± 122821
)1.04
es/minify/libraries/react
16695598
ns/iter (± 48069
)16311068
ns/iter (± 28947
)1.02
es/minify/libraries/terser
252554057
ns/iter (± 11347668
)221914527
ns/iter (± 3314333
)1.14
es/minify/libraries/three
443098302
ns/iter (± 11138695
)377064810
ns/iter (± 7545640
)1.18
es/minify/libraries/typescript
2956269767
ns/iter (± 25043623
)2756411323
ns/iter (± 22259997
)1.07
es/minify/libraries/victory
721409651
ns/iter (± 15221218
)596585096
ns/iter (± 22405660
)1.21
es/minify/libraries/vue
133670241
ns/iter (± 3150245
)122192917
ns/iter (± 682388
)1.09
es/visitor/compare/clone
1726128
ns/iter (± 6297
)1714750
ns/iter (± 7527
)1.01
es/visitor/compare/visit_mut_span
2066655
ns/iter (± 9474
)2068808
ns/iter (± 3516
)1.00
es/visitor/compare/visit_mut_span_panic
2084913
ns/iter (± 41095
)2050612
ns/iter (± 6705
)1.02
es/visitor/compare/fold_span
2797898
ns/iter (± 4576
)2754376
ns/iter (± 5776
)1.02
es/visitor/compare/fold_span_panic
2826270
ns/iter (± 8434
)2802516
ns/iter (± 3070
)1.01
es/lexer/colors
9530
ns/iter (± 34
)9736
ns/iter (± 67
)0.98
es/lexer/angular
5153974
ns/iter (± 45940
)5180011
ns/iter (± 3376
)0.99
es/lexer/backbone
661199
ns/iter (± 6218
)638613
ns/iter (± 1697
)1.04
es/lexer/jquery
3630280
ns/iter (± 3264
)3624151
ns/iter (± 117224
)1.00
es/lexer/jquery mobile
5490308
ns/iter (± 107342
)5407716
ns/iter (± 85178
)1.02
es/lexer/mootools
2925366
ns/iter (± 2541
)2889480
ns/iter (± 9452
)1.01
es/lexer/underscore
540600
ns/iter (± 1907
)538771
ns/iter (± 811
)1.00
es/lexer/three
16445294
ns/iter (± 25438
)16334603
ns/iter (± 106859
)1.01
es/lexer/yui
2921326
ns/iter (± 29936
)2923566
ns/iter (± 22946
)1.00
es/lexer/cal-com
13274008
ns/iter (± 60105
)13075688
ns/iter (± 26059
)1.02
es/lexer/typescript
93218341
ns/iter (± 516590
)91024802
ns/iter (± 295216
)1.02
es/parser/colors
23543
ns/iter (± 136
)23683
ns/iter (± 59
)0.99
es/parser/angular
12661883
ns/iter (± 76101
)12593504
ns/iter (± 93419
)1.01
es/parser/backbone
1823319
ns/iter (± 6119
)1829454
ns/iter (± 5626
)1.00
es/parser/jquery
10069381
ns/iter (± 88765
)10023556
ns/iter (± 147661
)1.00
es/parser/jquery mobile
15426650
ns/iter (± 264449
)15114147
ns/iter (± 115584
)1.02
es/parser/mootools
7837180
ns/iter (± 63908
)7854246
ns/iter (± 95183
)1.00
es/parser/underscore
1584859
ns/iter (± 8461
)1597455
ns/iter (± 9267
)0.99
es/parser/three
44567100
ns/iter (± 607351
)44257981
ns/iter (± 567243
)1.01
es/parser/yui
7488578
ns/iter (± 44050
)7483174
ns/iter (± 107374
)1.00
es/parser/cal-com
40394010
ns/iter (± 371945
)41363200
ns/iter (± 588350
)0.98
es/parser/typescript
268881843
ns/iter (± 1019128
)273664285
ns/iter (± 1131635
)0.98
es/preset-env/usage/builtin_type
136281
ns/iter (± 33509
)136801
ns/iter (± 33643
)1.00
es/preset-env/usage/property
16755
ns/iter (± 434
)16358
ns/iter (± 137
)1.02
es/resolver/typescript
101385834
ns/iter (± 2784973
)99830194
ns/iter (± 2436646
)1.02
es/fixer/typescript
81833340
ns/iter (± 2911310
)80978426
ns/iter (± 3691736
)1.01
es/hygiene/typescript
188856665
ns/iter (± 1897547
)183527689
ns/iter (± 2424946
)1.03
es/resolver_with_hygiene/typescript
328117435
ns/iter (± 4318514
)310309843
ns/iter (± 3620571
)1.06
es/visitor/base-perf/module_clone
56444
ns/iter (± 306
)55617
ns/iter (± 941
)1.01
es/visitor/base-perf/fold_empty
60113
ns/iter (± 987
)59056
ns/iter (± 447
)1.02
es/visitor/base-perf/fold_noop_impl_all
60399
ns/iter (± 873
)59048
ns/iter (± 535
)1.02
es/visitor/base-perf/fold_noop_impl_vec
60261
ns/iter (± 962
)58892
ns/iter (± 410
)1.02
es/visitor/base-perf/boxing_boxed_clone
60
ns/iter (± 0
)61
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_unboxed_clone
47
ns/iter (± 0
)47
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
106
ns/iter (± 0
)107
ns/iter (± 0
)0.99
es/visitor/base-perf/boxing_unboxed
82
ns/iter (± 0
)81
ns/iter (± 0
)1.01
es/visitor/base-perf/visit_contains_this
2654
ns/iter (± 9
)2656
ns/iter (± 7
)1.00
es/base/parallel/resolver/typescript
2388492202
ns/iter (± 121542654
)2486447688
ns/iter (± 154119112
)0.96
es/base/parallel/hygiene/typescript
3293513571
ns/iter (± 42394764
)3230288772
ns/iter (± 57296287
)1.02
babelify-only
496297
ns/iter (± 9478
)494244
ns/iter (± 5089
)1.00
parse_and_babelify_angular
46893169
ns/iter (± 1470729
)46485655
ns/iter (± 2446233
)1.01
parse_and_babelify_backbone
4925926
ns/iter (± 300309
)4646630
ns/iter (± 207561
)1.06
parse_and_babelify_jquery
32758457
ns/iter (± 607320
)32697701
ns/iter (± 908898
)1.00
parse_and_babelify_jquery_mobile
56106070
ns/iter (± 1256233
)54210389
ns/iter (± 836379
)1.03
parse_and_babelify_mootools
29756851
ns/iter (± 668219
)29016284
ns/iter (± 237718
)1.03
parse_and_babelify_underscore
3986635
ns/iter (± 161044
)3832632
ns/iter (± 67219
)1.04
parse_and_babelify_yui
28733815
ns/iter (± 1075985
)30744132
ns/iter (± 2122946
)0.93
html/minify/document/css_spec
46901533
ns/iter (± 1704633
)46526817
ns/iter (± 560879
)1.01
html/minify/document/github
18440735
ns/iter (± 95830
)18548000
ns/iter (± 531405
)0.99
html/minify/document/stackoverflow
16920295
ns/iter (± 434714
)16886660
ns/iter (± 495353
)1.00
html/minify/document_fragment/css_spec
45806192
ns/iter (± 681557
)45498769
ns/iter (± 399510
)1.01
html/minify/document_fragment/github
18209579
ns/iter (± 287455
)18261064
ns/iter (± 153295
)1.00
html/minify/document_fragment/stackoverflow
16461119
ns/iter (± 122395
)16521311
ns/iter (± 68913
)1.00
html/document/visitor/compare/clone
165604
ns/iter (± 1810
)163770
ns/iter (± 2166
)1.01
html/document/visitor/compare/visit_mut_span
181803
ns/iter (± 1541
)183714
ns/iter (± 1696
)0.99
html/document/visitor/compare/visit_mut_span_panic
187761
ns/iter (± 5987
)188840
ns/iter (± 6693
)0.99
html/document/visitor/compare/fold_span
229642
ns/iter (± 716
)231964
ns/iter (± 1128
)0.99
html/document/visitor/compare/fold_span_panic
280878
ns/iter (± 404
)279609
ns/iter (± 1760
)1.00
html/document_fragment/visitor/compare/clone
166114
ns/iter (± 1525
)165949
ns/iter (± 988
)1.00
html/document_fragment/visitor/compare/visit_mut_span
182813
ns/iter (± 1312
)180207
ns/iter (± 757
)1.01
html/document_fragment/visitor/compare/visit_mut_span_panic
186020
ns/iter (± 1189
)185358
ns/iter (± 530
)1.00
html/document_fragment/visitor/compare/fold_span
229840
ns/iter (± 1101
)233088
ns/iter (± 1318
)0.99
html/document_fragment/visitor/compare/fold_span_panic
280747
ns/iter (± 1338
)280544
ns/iter (± 1178
)1.00
html/lexer/css_2021_spec
12759300
ns/iter (± 22075
)12830778
ns/iter (± 132581
)0.99
html/lexer/github_com_17_05_2022
4894784
ns/iter (± 9610
)4897786
ns/iter (± 13050
)1.00
html/lexer/stackoverflow_com_17_05_2022
4627390
ns/iter (± 22361
)4638529
ns/iter (± 3085
)1.00
html/parser/parser_document/css_2021_spec
26169522
ns/iter (± 118314
)25822469
ns/iter (± 41664
)1.01
html/parser/parser_document/github_com_17_05_2022
8717570
ns/iter (± 70099
)8763025
ns/iter (± 14124
)0.99
html/parser/parser_document/stackoverflow_com_17_05_2022
7453176
ns/iter (± 7154
)7550969
ns/iter (± 8592
)0.99
html/parser/parser_document_fragment/css_2021_spec
27219426
ns/iter (± 108464
)25908377
ns/iter (± 113934
)1.05
html/parser/parser_document_fragment/github_com_17_05_2022
8914709
ns/iter (± 13322
)8607957
ns/iter (± 29280
)1.04
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7906186
ns/iter (± 16449
)7485850
ns/iter (± 26205
)1.06
This comment was automatically generated by workflow using github-action-benchmark.