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): Insert the variable declaration nearest to the availa…
- Loading branch information
1 parent
136c498
commit ae348e3
Showing
4 changed files
with
30 additions
and
4 deletions.
There are no files selected for viewing
12 changes: 12 additions & 0 deletions
12
crates/swc/tests/fixture/issues-7xxx/7064/case1/input/.swcrc
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,12 @@ | ||
{ | ||
"jsc": { | ||
"parser": { | ||
"syntax": "typescript", | ||
"decorators": true | ||
}, | ||
"target": "es2020" | ||
}, | ||
"module": { | ||
"type": "commonjs" | ||
} | ||
} |
7 changes: 7 additions & 0 deletions
7
crates/swc/tests/fixture/issues-7xxx/7064/case1/input/index.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,7 @@ | ||
function method() { | ||
const obj = {}; | ||
obj.prop ??= "x".repeat(10000000); | ||
} | ||
|
||
method(); | ||
// the large string should be eventually GCed along with the large string, but it will never happen in SWC+es2020 |
7 changes: 7 additions & 0 deletions
7
crates/swc/tests/fixture/issues-7xxx/7064/case1/output/index.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,7 @@ | ||
"use strict"; | ||
function method() { | ||
var _obj; | ||
const obj = {}; | ||
(_obj = obj).prop ?? (_obj.prop = "x".repeat(10000000)); | ||
} | ||
method(); // the large string should be eventually GCed along with the large string, but it will never happen in SWC+es2020 |
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
ae348e3
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
308238
ns/iter (± 9282
)310922
ns/iter (± 15072
)0.99
es/full/minify/libraries/antd
1642949034
ns/iter (± 20420748
)1583872974
ns/iter (± 19265292
)1.04
es/full/minify/libraries/d3
306321764
ns/iter (± 6737441
)303940064
ns/iter (± 6478043
)1.01
es/full/minify/libraries/echarts
1271377451
ns/iter (± 13248511
)1211151121
ns/iter (± 17223317
)1.05
es/full/minify/libraries/jquery
90791982
ns/iter (± 797386
)91904036
ns/iter (± 927395
)0.99
es/full/minify/libraries/lodash
106275660
ns/iter (± 1456645
)105988081
ns/iter (± 921534
)1.00
es/full/minify/libraries/moment
52758146
ns/iter (± 273702
)52643928
ns/iter (± 460575
)1.00
es/full/minify/libraries/react
19114296
ns/iter (± 141966
)19075496
ns/iter (± 254917
)1.00
es/full/minify/libraries/terser
246909477
ns/iter (± 3963900
)247298614
ns/iter (± 2992795
)1.00
es/full/minify/libraries/three
446695986
ns/iter (± 5794060
)438526083
ns/iter (± 4385154
)1.02
es/full/minify/libraries/typescript
3093519396
ns/iter (± 31718058
)2946143863
ns/iter (± 9287766
)1.05
es/full/minify/libraries/victory
686616303
ns/iter (± 10408336
)660286906
ns/iter (± 12372048
)1.04
es/full/minify/libraries/vue
133229240
ns/iter (± 1391838
)129881111
ns/iter (± 1380747
)1.03
es/full/codegen/es3
26557
ns/iter (± 59
)26512
ns/iter (± 51
)1.00
es/full/codegen/es5
26666
ns/iter (± 50
)26626
ns/iter (± 93
)1.00
es/full/codegen/es2015
26601
ns/iter (± 23
)26542
ns/iter (± 72
)1.00
es/full/codegen/es2016
26698
ns/iter (± 39
)26612
ns/iter (± 59
)1.00
es/full/codegen/es2017
26602
ns/iter (± 30
)26579
ns/iter (± 68
)1.00
es/full/codegen/es2018
26667
ns/iter (± 46
)26552
ns/iter (± 60
)1.00
es/full/codegen/es2019
26591
ns/iter (± 45
)26555
ns/iter (± 42
)1.00
es/full/codegen/es2020
26617
ns/iter (± 42
)26574
ns/iter (± 56
)1.00
es/full/all/es3
182960204
ns/iter (± 2200428
)182377662
ns/iter (± 3117790
)1.00
es/full/all/es5
174514755
ns/iter (± 2442579
)171167607
ns/iter (± 3903702
)1.02
es/full/all/es2015
137940301
ns/iter (± 3354166
)135489285
ns/iter (± 1772215
)1.02
es/full/all/es2016
135644468
ns/iter (± 1288281
)132580089
ns/iter (± 1359597
)1.02
es/full/all/es2017
134521261
ns/iter (± 1639240
)133910576
ns/iter (± 1734327
)1.00
es/full/all/es2018
129672231
ns/iter (± 1611493
)128413239
ns/iter (± 2008308
)1.01
es/full/all/es2019
127337975
ns/iter (± 1254386
)127352481
ns/iter (± 2560489
)1.00
es/full/all/es2020
120438703
ns/iter (± 1255975
)119233245
ns/iter (± 1821830
)1.01
es/full/parser
541648
ns/iter (± 10573
)536191
ns/iter (± 9324
)1.01
es/full/base/fixer
22687
ns/iter (± 43
)22234
ns/iter (± 43
)1.02
es/full/base/resolver_and_hygiene
81898
ns/iter (± 738
)82474
ns/iter (± 116
)0.99
serialization of ast node
124
ns/iter (± 0
)124
ns/iter (± 0
)1
serialization of serde
127
ns/iter (± 0
)126
ns/iter (± 0
)1.01
css/minify/libraries/bootstrap
28499965
ns/iter (± 198980
)28463226
ns/iter (± 132816
)1.00
css/visitor/compare/clone
2124639
ns/iter (± 16981
)2127427
ns/iter (± 2950
)1.00
css/visitor/compare/visit_mut_span
2296329
ns/iter (± 3574
)2333491
ns/iter (± 5739
)0.98
css/visitor/compare/visit_mut_span_panic
2350914
ns/iter (± 8937
)2352532
ns/iter (± 3592
)1.00
css/visitor/compare/fold_span
3048051
ns/iter (± 17363
)3110200
ns/iter (± 44717
)0.98
css/visitor/compare/fold_span_panic
3205505
ns/iter (± 17547
)3224560
ns/iter (± 16897
)0.99
css/lexer/bootstrap_5_1_3
5145345
ns/iter (± 12948
)5144926
ns/iter (± 2070
)1.00
css/lexer/foundation_6_7_4
4340210
ns/iter (± 2289
)4340395
ns/iter (± 791
)1.00
css/lexer/tailwind_3_1_1
822869
ns/iter (± 1488
)823548
ns/iter (± 429
)1.00
css/parser/bootstrap_5_1_3
21630626
ns/iter (± 93734
)21854024
ns/iter (± 98831
)0.99
css/parser/foundation_6_7_4
17258340
ns/iter (± 57623
)17294702
ns/iter (± 53600
)1.00
css/parser/tailwind_3_1_1
3296795
ns/iter (± 8077
)3304624
ns/iter (± 6594
)1.00
es/codegen/colors
329305
ns/iter (± 190443
)319924
ns/iter (± 179498
)1.03
es/codegen/large
1178596
ns/iter (± 601985
)1232273
ns/iter (± 640384
)0.96
es/codegen/with-parser/colors
46841
ns/iter (± 158
)46906
ns/iter (± 166
)1.00
es/codegen/with-parser/large
519363
ns/iter (± 1743
)516184
ns/iter (± 2065
)1.01
es/minify/libraries/antd
1444424274
ns/iter (± 17448991
)1362539744
ns/iter (± 30883280
)1.06
es/minify/libraries/d3
260851638
ns/iter (± 3302106
)259289990
ns/iter (± 4940662
)1.01
es/minify/libraries/echarts
1103573744
ns/iter (± 11740599
)1056045368
ns/iter (± 10852438
)1.05
es/minify/libraries/jquery
79010348
ns/iter (± 672988
)79941551
ns/iter (± 392248
)0.99
es/minify/libraries/lodash
94593600
ns/iter (± 1246956
)95370328
ns/iter (± 1229064
)0.99
es/minify/libraries/moment
46430060
ns/iter (± 302967
)46041438
ns/iter (± 403236
)1.01
es/minify/libraries/react
17101452
ns/iter (± 322710
)17015597
ns/iter (± 238504
)1.01
es/minify/libraries/terser
213479134
ns/iter (± 3468317
)213255632
ns/iter (± 4415519
)1.00
es/minify/libraries/three
396682209
ns/iter (± 14732820
)366196065
ns/iter (± 5698603
)1.08
es/minify/libraries/typescript
2664460252
ns/iter (± 12726933
)2512577077
ns/iter (± 12721114
)1.06
es/minify/libraries/victory
605181575
ns/iter (± 8894301
)575414969
ns/iter (± 15123458
)1.05
es/minify/libraries/vue
117444610
ns/iter (± 1860946
)117465449
ns/iter (± 1175487
)1.00
es/visitor/compare/clone
2350823
ns/iter (± 8160
)2298512
ns/iter (± 6625
)1.02
es/visitor/compare/visit_mut_span
2716497
ns/iter (± 5336
)2646455
ns/iter (± 5751
)1.03
es/visitor/compare/visit_mut_span_panic
2743051
ns/iter (± 5502
)2704848
ns/iter (± 5884
)1.01
es/visitor/compare/fold_span
3815373
ns/iter (± 14924
)3775427
ns/iter (± 12071
)1.01
es/visitor/compare/fold_span_panic
3976948
ns/iter (± 16504
)3962719
ns/iter (± 23063
)1.00
es/lexer/colors
15051
ns/iter (± 31
)15104
ns/iter (± 38
)1.00
es/lexer/angular
7375227
ns/iter (± 14308
)7371405
ns/iter (± 4551
)1.00
es/lexer/backbone
987040
ns/iter (± 1314
)984673
ns/iter (± 892
)1.00
es/lexer/jquery
5524780
ns/iter (± 10705
)5515260
ns/iter (± 13101
)1.00
es/lexer/jquery mobile
8498030
ns/iter (± 11879
)8500115
ns/iter (± 4076
)1.00
es/lexer/mootools
4343964
ns/iter (± 7586
)4344044
ns/iter (± 7933
)1.00
es/lexer/underscore
823898
ns/iter (± 1813
)824206
ns/iter (± 631
)1.00
es/lexer/three
25761217
ns/iter (± 40335
)25800544
ns/iter (± 21956
)1.00
es/lexer/yui
4592656
ns/iter (± 8857
)4605344
ns/iter (± 4065
)1.00
es/parser/colors
29488
ns/iter (± 57
)29576
ns/iter (± 61
)1.00
es/parser/angular
15279582
ns/iter (± 133405
)15368934
ns/iter (± 122620
)0.99
es/parser/backbone
2238745
ns/iter (± 11757
)2191547
ns/iter (± 11591
)1.02
es/parser/jquery
12140962
ns/iter (± 84773
)12008574
ns/iter (± 129320
)1.01
es/parser/jquery mobile
19106093
ns/iter (± 174280
)19006564
ns/iter (± 128557
)1.01
es/parser/mootools
9247171
ns/iter (± 34810
)9126675
ns/iter (± 23483
)1.01
es/parser/underscore
1895237
ns/iter (± 11304
)1859396
ns/iter (± 11385
)1.02
es/parser/three
56678889
ns/iter (± 295784
)55462717
ns/iter (± 302155
)1.02
es/parser/yui
9258454
ns/iter (± 63838
)9257475
ns/iter (± 50752
)1.00
es/preset-env/usage/builtin_type
144164
ns/iter (± 36596
)137616
ns/iter (± 32655
)1.05
es/preset-env/usage/property
21612
ns/iter (± 214
)21139
ns/iter (± 81
)1.02
es/resolver/typescript
112522543
ns/iter (± 2568054
)108094262
ns/iter (± 2220235
)1.04
es/fixer/typescript
87253323
ns/iter (± 861758
)78855235
ns/iter (± 1080802
)1.11
es/hygiene/typescript
188931166
ns/iter (± 1311236
)167923888
ns/iter (± 1146623
)1.13
es/resolver_with_hygiene/typescript
325646507
ns/iter (± 2091915
)308743209
ns/iter (± 2674840
)1.05
es/visitor/base-perf/module_clone
78795
ns/iter (± 1274
)79570
ns/iter (± 1335
)0.99
es/visitor/base-perf/fold_empty
89325
ns/iter (± 917
)90564
ns/iter (± 1539
)0.99
es/visitor/base-perf/fold_noop_impl_all
90023
ns/iter (± 1244
)91766
ns/iter (± 945
)0.98
es/visitor/base-perf/fold_noop_impl_vec
90218
ns/iter (± 1375
)91632
ns/iter (± 920
)0.98
es/visitor/base-perf/boxing_boxed_clone
57
ns/iter (± 0
)57
ns/iter (± 0
)1
es/visitor/base-perf/boxing_unboxed_clone
54
ns/iter (± 0
)54
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
101
ns/iter (± 0
)104
ns/iter (± 0
)0.97
es/visitor/base-perf/boxing_unboxed
99
ns/iter (± 0
)106
ns/iter (± 0
)0.93
es/visitor/base-perf/visit_contains_this
3638
ns/iter (± 76
)3539
ns/iter (± 29
)1.03
es/base/parallel/resolver/typescript
5898516959
ns/iter (± 431764543
)5442710885
ns/iter (± 400556319
)1.08
es/base/parallel/hygiene/typescript
2212827883
ns/iter (± 26789781
)1967103175
ns/iter (± 22200184
)1.12
misc/visitors/time-complexity/time 5
98
ns/iter (± 0
)93
ns/iter (± 0
)1.05
misc/visitors/time-complexity/time 10
323
ns/iter (± 0
)311
ns/iter (± 1
)1.04
misc/visitors/time-complexity/time 15
668
ns/iter (± 0
)606
ns/iter (± 10
)1.10
misc/visitors/time-complexity/time 20
1256
ns/iter (± 10
)1124
ns/iter (± 6
)1.12
misc/visitors/time-complexity/time 40
6751
ns/iter (± 2
)5979
ns/iter (± 30
)1.13
misc/visitors/time-complexity/time 60
17399
ns/iter (± 59
)15195
ns/iter (± 38
)1.15
es/full-target/es2016
249223
ns/iter (± 1708
)248448
ns/iter (± 412
)1.00
es/full-target/es2017
242790
ns/iter (± 281
)241361
ns/iter (± 491
)1.01
es/full-target/es2018
232481
ns/iter (± 321
)231074
ns/iter (± 236
)1.01
es2020_nullish_coalescing
90805
ns/iter (± 262
)90505
ns/iter (± 252
)1.00
es2020_optional_chaining
122870
ns/iter (± 622
)122714
ns/iter (± 302
)1.00
es2022_class_properties
146784
ns/iter (± 2103
)146337
ns/iter (± 196
)1.00
es2018_object_rest_spread
94787
ns/iter (± 166
)94431
ns/iter (± 203
)1.00
es2019_optional_catch_binding
84177
ns/iter (± 200
)83737
ns/iter (± 203
)1.01
es2017_async_to_generator
84676
ns/iter (± 229
)84679
ns/iter (± 261
)1.00
es2016_exponentiation
88649
ns/iter (± 146
)88283
ns/iter (± 154
)1.00
es2015_arrow
92921
ns/iter (± 225
)92579
ns/iter (± 133
)1.00
es2015_block_scoped_fn
90603
ns/iter (± 277
)90549
ns/iter (± 293
)1.00
es2015_block_scoping
169862
ns/iter (± 459
)169008
ns/iter (± 298
)1.01
This comment was automatically generated by workflow using github-action-benchmark.