-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(es/minifier): Infect mutation when assigning a property (#7503)
- Loading branch information
Showing
9 changed files
with
117 additions
and
97 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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
var globalArray = [1, 1, 1]; | ||
module.exports = function () { | ||
var localArray = globalArray; | ||
localArray[0] = localArray[1] = localArray[2] = 0; | ||
return localArray; | ||
}; |
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,8 @@ | ||
var globalArray = [ | ||
1, | ||
1, | ||
1 | ||
]; | ||
module.exports = function() { | ||
return globalArray[0] = globalArray[1] = globalArray[2] = 0, globalArray; | ||
}; |
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
2 changes: 1 addition & 1 deletion
2
crates/swc_ecma_minifier/tests/full/feedback-mapbox/785-e1932cc99ac3bb67/output.js
Large diffs are not rendered by default.
Oops, something went wrong.
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
7f9f0b8
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
307783
ns/iter (± 7577
)356296
ns/iter (± 15224
)0.86
es/full/minify/libraries/antd
1490980646
ns/iter (± 17109322
)1807570787
ns/iter (± 18858660
)0.82
es/full/minify/libraries/d3
315376713
ns/iter (± 5958092
)363801138
ns/iter (± 7846654
)0.87
es/full/minify/libraries/echarts
1206994815
ns/iter (± 5037923
)1398134146
ns/iter (± 16248103
)0.86
es/full/minify/libraries/jquery
95047604
ns/iter (± 239309
)109397340
ns/iter (± 694313
)0.87
es/full/minify/libraries/lodash
113142735
ns/iter (± 1357721
)129672104
ns/iter (± 1216351
)0.87
es/full/minify/libraries/moment
55839073
ns/iter (± 170007
)63039631
ns/iter (± 415464
)0.89
es/full/minify/libraries/react
19999043
ns/iter (± 37357
)22639492
ns/iter (± 122372
)0.88
es/full/minify/libraries/terser
246446972
ns/iter (± 710794
)288047420
ns/iter (± 2328905
)0.86
es/full/minify/libraries/three
435833072
ns/iter (± 2456695
)510668991
ns/iter (± 5351346
)0.85
es/full/minify/libraries/typescript
3003623373
ns/iter (± 9652755
)3421726501
ns/iter (± 11743941
)0.88
es/full/minify/libraries/victory
647142461
ns/iter (± 5333664
)767647093
ns/iter (± 6364750
)0.84
es/full/minify/libraries/vue
138230877
ns/iter (± 644517
)158988415
ns/iter (± 864873
)0.87
es/full/codegen/es3
36321
ns/iter (± 120
)40598
ns/iter (± 95
)0.89
es/full/codegen/es5
36282
ns/iter (± 36
)40847
ns/iter (± 39
)0.89
es/full/codegen/es2015
36283
ns/iter (± 65
)40742
ns/iter (± 133
)0.89
es/full/codegen/es2016
36245
ns/iter (± 64
)40681
ns/iter (± 130
)0.89
es/full/codegen/es2017
36309
ns/iter (± 43
)40698
ns/iter (± 68
)0.89
es/full/codegen/es2018
36232
ns/iter (± 84
)40705
ns/iter (± 54
)0.89
es/full/codegen/es2019
36323
ns/iter (± 85
)40713
ns/iter (± 41
)0.89
es/full/codegen/es2020
36286
ns/iter (± 53
)40707
ns/iter (± 125
)0.89
es/full/all/es3
179791533
ns/iter (± 719633
)206684493
ns/iter (± 2700788
)0.87
es/full/all/es5
171539536
ns/iter (± 886500
)198577663
ns/iter (± 3233078
)0.86
es/full/all/es2015
127066027
ns/iter (± 498451
)153111164
ns/iter (± 2183038
)0.83
es/full/all/es2016
126586740
ns/iter (± 521394
)153047977
ns/iter (± 2538164
)0.83
es/full/all/es2017
125489097
ns/iter (± 708529
)151496410
ns/iter (± 2623817
)0.83
es/full/all/es2018
123958117
ns/iter (± 501698
)149247219
ns/iter (± 3837961
)0.83
es/full/all/es2019
123461546
ns/iter (± 574127
)151126372
ns/iter (± 2321463
)0.82
es/full/all/es2020
118184621
ns/iter (± 317167
)144305481
ns/iter (± 3007284
)0.82
es/full/parser
517191
ns/iter (± 3961
)606815
ns/iter (± 9013
)0.85
es/full/base/fixer
18236
ns/iter (± 128
)24466
ns/iter (± 39
)0.75
es/full/base/resolver_and_hygiene
90877
ns/iter (± 276
)104089
ns/iter (± 90
)0.87
serialization of serde
316
ns/iter (± 0
)282
ns/iter (± 0
)1.12
css/minify/libraries/bootstrap
30915808
ns/iter (± 144697
)36125710
ns/iter (± 137360
)0.86
css/visitor/compare/clone
1906383
ns/iter (± 12333
)2367558
ns/iter (± 8382
)0.81
css/visitor/compare/visit_mut_span
2050453
ns/iter (± 6002
)2543511
ns/iter (± 1954
)0.81
css/visitor/compare/visit_mut_span_panic
2128272
ns/iter (± 7926
)2599687
ns/iter (± 4582
)0.82
css/visitor/compare/fold_span
2807297
ns/iter (± 12453
)3321353
ns/iter (± 10818
)0.85
css/visitor/compare/fold_span_panic
3016782
ns/iter (± 11302
)3480432
ns/iter (± 17455
)0.87
css/lexer/bootstrap_5_1_3
4814585
ns/iter (± 2310
)5562004
ns/iter (± 5242
)0.87
css/lexer/foundation_6_7_4
4051902
ns/iter (± 1979
)4704291
ns/iter (± 5634
)0.86
css/lexer/tailwind_3_1_1
764265
ns/iter (± 278
)892464
ns/iter (± 553
)0.86
css/parser/bootstrap_5_1_3
20586787
ns/iter (± 24884
)23833844
ns/iter (± 93887
)0.86
css/parser/foundation_6_7_4
16577051
ns/iter (± 69764
)19025931
ns/iter (± 49543
)0.87
css/parser/tailwind_3_1_1
3199868
ns/iter (± 2839
)3673394
ns/iter (± 32136
)0.87
es/codegen/colors
740624
ns/iter (± 401173
)734385
ns/iter (± 396361
)1.01
es/codegen/large
3120128
ns/iter (± 1635030
)3116361
ns/iter (± 1643760
)1.00
es/codegen/with-parser/colors
48887
ns/iter (± 243
)58178
ns/iter (± 425
)0.84
es/codegen/with-parser/large
521112
ns/iter (± 3305
)571768
ns/iter (± 2130
)0.91
es/minify/libraries/antd
1323790696
ns/iter (± 13689427
)1582587919
ns/iter (± 14028773
)0.84
es/minify/libraries/d3
281493184
ns/iter (± 1478748
)311129895
ns/iter (± 2865092
)0.90
es/minify/libraries/echarts
1056905603
ns/iter (± 7906080
)1250373180
ns/iter (± 12788585
)0.85
es/minify/libraries/jquery
83551073
ns/iter (± 222946
)98210452
ns/iter (± 1845950
)0.85
es/minify/libraries/lodash
102003795
ns/iter (± 212712
)115360323
ns/iter (± 1192146
)0.88
es/minify/libraries/moment
49159782
ns/iter (± 97254
)55854897
ns/iter (± 374666
)0.88
es/minify/libraries/react
17846904
ns/iter (± 49528
)20502163
ns/iter (± 134800
)0.87
es/minify/libraries/terser
213567474
ns/iter (± 840212
)249349040
ns/iter (± 1815088
)0.86
es/minify/libraries/three
372482774
ns/iter (± 1924747
)428800468
ns/iter (± 3107512
)0.87
es/minify/libraries/typescript
2613162969
ns/iter (± 10441432
)2972633708
ns/iter (± 18589519
)0.88
es/minify/libraries/victory
551217447
ns/iter (± 4675303
)661061241
ns/iter (± 9714029
)0.83
es/minify/libraries/vue
123457896
ns/iter (± 738900
)143459760
ns/iter (± 1024241
)0.86
es/visitor/compare/clone
2079708
ns/iter (± 9511
)2400271
ns/iter (± 8346
)0.87
es/visitor/compare/visit_mut_span
2409416
ns/iter (± 3513
)2778309
ns/iter (± 11628
)0.87
es/visitor/compare/visit_mut_span_panic
2449959
ns/iter (± 2954
)2831730
ns/iter (± 5440
)0.87
es/visitor/compare/fold_span
3488994
ns/iter (± 6413
)3931919
ns/iter (± 8965
)0.89
es/visitor/compare/fold_span_panic
3616746
ns/iter (± 13140
)4052297
ns/iter (± 16794
)0.89
es/lexer/colors
13087
ns/iter (± 59
)14720
ns/iter (± 37
)0.89
es/lexer/angular
6253308
ns/iter (± 10990
)6927232
ns/iter (± 2077
)0.90
es/lexer/backbone
818490
ns/iter (± 1710
)848298
ns/iter (± 423
)0.96
es/lexer/jquery
4619606
ns/iter (± 3578
)4750432
ns/iter (± 7359
)0.97
es/lexer/jquery mobile
7082083
ns/iter (± 4298
)7347217
ns/iter (± 13373
)0.96
es/lexer/mootools
3654247
ns/iter (± 4146
)3747668
ns/iter (± 3043
)0.98
es/lexer/underscore
693703
ns/iter (± 859
)705175
ns/iter (± 218
)0.98
es/lexer/three
21803955
ns/iter (± 34962
)22314088
ns/iter (± 14420
)0.98
es/lexer/yui
4054871
ns/iter (± 1919
)4277796
ns/iter (± 2258
)0.95
es/parser/colors
29370
ns/iter (± 93
)33431
ns/iter (± 73
)0.88
es/parser/angular
14459825
ns/iter (± 592043
)16704407
ns/iter (± 134771
)0.87
es/parser/backbone
2138656
ns/iter (± 11336
)2412270
ns/iter (± 13594
)0.89
es/parser/jquery
11691667
ns/iter (± 35685
)13021526
ns/iter (± 160811
)0.90
es/parser/jquery mobile
17854597
ns/iter (± 46470
)20133216
ns/iter (± 222467
)0.89
es/parser/mootools
8932900
ns/iter (± 15419
)9926062
ns/iter (± 25335
)0.90
es/parser/underscore
1866976
ns/iter (± 8857
)2055236
ns/iter (± 9052
)0.91
es/parser/three
49498644
ns/iter (± 205186
)58832206
ns/iter (± 758108
)0.84
es/parser/yui
8972468
ns/iter (± 29532
)10047101
ns/iter (± 57307
)0.89
es/preset-env/usage/builtin_type
145339
ns/iter (± 31175
)152133
ns/iter (± 33037
)0.96
es/preset-env/usage/property
20271
ns/iter (± 54
)28741
ns/iter (± 76
)0.71
es/resolver/typescript
92968979
ns/iter (± 1396577
)119266597
ns/iter (± 2166577
)0.78
es/fixer/typescript
65904892
ns/iter (± 532711
)79622211
ns/iter (± 613078
)0.83
es/hygiene/typescript
141676734
ns/iter (± 1028313
)180387747
ns/iter (± 808411
)0.79
es/resolver_with_hygiene/typescript
304889704
ns/iter (± 1768070
)384408682
ns/iter (± 2540826
)0.79
es/visitor/base-perf/module_clone
62496
ns/iter (± 256
)84022
ns/iter (± 1116
)0.74
es/visitor/base-perf/fold_empty
65583
ns/iter (± 360
)93190
ns/iter (± 339
)0.70
es/visitor/base-perf/fold_noop_impl_all
66216
ns/iter (± 201
)93805
ns/iter (± 496
)0.71
es/visitor/base-perf/fold_noop_impl_vec
66150
ns/iter (± 253
)94538
ns/iter (± 415
)0.70
es/visitor/base-perf/boxing_boxed_clone
61
ns/iter (± 0
)60
ns/iter (± 0
)1.02
es/visitor/base-perf/boxing_unboxed_clone
41
ns/iter (± 0
)44
ns/iter (± 0
)0.93
es/visitor/base-perf/boxing_boxed
119
ns/iter (± 0
)105
ns/iter (± 0
)1.13
es/visitor/base-perf/boxing_unboxed
81
ns/iter (± 0
)82
ns/iter (± 0
)0.99
es/visitor/base-perf/visit_empty
0
ns/iter (± 0
)es/visitor/base-perf/visit_contains_this
2680
ns/iter (± 16
)3489
ns/iter (± 56
)0.77
es/base/parallel/resolver/typescript
4640573954
ns/iter (± 287384549
)6650051758
ns/iter (± 376744063
)0.70
es/base/parallel/hygiene/typescript
1570066256
ns/iter (± 30585886
)2180664258
ns/iter (± 31592037
)0.72
misc/visitors/time-complexity/time 5
104
ns/iter (± 0
)113
ns/iter (± 0
)0.92
misc/visitors/time-complexity/time 10
267
ns/iter (± 0
)370
ns/iter (± 0
)0.72
misc/visitors/time-complexity/time 15
504
ns/iter (± 39
)769
ns/iter (± 0
)0.66
misc/visitors/time-complexity/time 20
1060
ns/iter (± 2
)1435
ns/iter (± 9
)0.74
misc/visitors/time-complexity/time 40
3551
ns/iter (± 204
)7439
ns/iter (± 3
)0.48
misc/visitors/time-complexity/time 60
7538
ns/iter (± 36
)18826
ns/iter (± 4
)0.40
es/full-target/es2016
240264
ns/iter (± 761
)269877
ns/iter (± 355
)0.89
es/full-target/es2017
226490
ns/iter (± 479
)259040
ns/iter (± 394
)0.87
es/full-target/es2018
215160
ns/iter (± 612
)247973
ns/iter (± 316
)0.87
es2020_nullish_coalescing
73550
ns/iter (± 314
)98527
ns/iter (± 419
)0.75
es2020_optional_chaining
103634
ns/iter (± 748
)131858
ns/iter (± 241
)0.79
es2022_class_properties
121562
ns/iter (± 564
)155661
ns/iter (± 310
)0.78
es2018_object_rest_spread
77083
ns/iter (± 326
)99605
ns/iter (± 283
)0.77
es2019_optional_catch_binding
65485
ns/iter (± 137
)88351
ns/iter (± 226
)0.74
es2017_async_to_generator
66259
ns/iter (± 153
)88646
ns/iter (± 209
)0.75
es2016_exponentiation
71392
ns/iter (± 257
)95431
ns/iter (± 209
)0.75
es2015_arrow
73853
ns/iter (± 307
)97968
ns/iter (± 249
)0.75
es2015_block_scoped_fn
70233
ns/iter (± 341
)96565
ns/iter (± 320
)0.73
es2015_block_scoping
134162
ns/iter (± 661
)185395
ns/iter (± 279
)0.72
This comment was automatically generated by workflow using github-action-benchmark.