Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor(es/parser): Don't attempt to handle shebangs in `read_token_…
…number_sign` (#7803) bump() has a safety invariant that there must be input in the buffer to read (See #7709). This function as currently written calls `bump()` after calling `read_token_interpreter()`, which *may* have exhausted the buffer already in the specific case that it is handling a shebang. (The input string `#!/bin/js` with no newline is sufficient to cause UB here) Fortunately, shebangs never reach this function, due to `read_shebang`! Hurray! It's cleaner to not attempt to handle shebangs here when this code path will never be reached, and use a debug assertion to ensure that we're not dealing with shebangs.
- Loading branch information
5e7834a
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
290182
ns/iter (± 3993
)283171
ns/iter (± 7787
)1.02
es/full/minify/libraries/antd
1308960514
ns/iter (± 9326156
)1303972324
ns/iter (± 11734339
)1.00
es/full/minify/libraries/d3
279696969
ns/iter (± 4526061
)271555362
ns/iter (± 9360847
)1.03
es/full/minify/libraries/echarts
1051804016
ns/iter (± 4203229
)1046504857
ns/iter (± 6287442
)1.01
es/full/minify/libraries/jquery
84928046
ns/iter (± 105879
)84663271
ns/iter (± 142508
)1.00
es/full/minify/libraries/lodash
98435136
ns/iter (± 252299
)98333949
ns/iter (± 268506
)1.00
es/full/minify/libraries/moment
50030303
ns/iter (± 61871
)49731090
ns/iter (± 75104
)1.01
es/full/minify/libraries/react
18089232
ns/iter (± 40340
)18006988
ns/iter (± 259118
)1.00
es/full/minify/libraries/terser
220115546
ns/iter (± 505684
)217419376
ns/iter (± 842330
)1.01
es/full/minify/libraries/three
384499746
ns/iter (± 1167559
)381548459
ns/iter (± 653090
)1.01
es/full/minify/libraries/typescript
2789494711
ns/iter (± 67649059
)2641347152
ns/iter (± 10899048
)1.06
es/full/minify/libraries/victory
597748036
ns/iter (± 16816410
)565254278
ns/iter (± 7587556
)1.06
es/full/minify/libraries/vue
121447944
ns/iter (± 609997
)119771652
ns/iter (± 251319
)1.01
es/full/codegen/es3
34544
ns/iter (± 42
)35324
ns/iter (± 61
)0.98
es/full/codegen/es5
34477
ns/iter (± 57
)35351
ns/iter (± 286
)0.98
es/full/codegen/es2015
34537
ns/iter (± 67
)35327
ns/iter (± 45
)0.98
es/full/codegen/es2016
34593
ns/iter (± 125
)35298
ns/iter (± 471
)0.98
es/full/codegen/es2017
34594
ns/iter (± 61
)35320
ns/iter (± 91
)0.98
es/full/codegen/es2018
34590
ns/iter (± 65
)35279
ns/iter (± 84
)0.98
es/full/codegen/es2019
34541
ns/iter (± 99
)35312
ns/iter (± 1261
)0.98
es/full/codegen/es2020
34549
ns/iter (± 67
)35341
ns/iter (± 59
)0.98
es/full/all/es3
173370550
ns/iter (± 835288
)173024232
ns/iter (± 1527435
)1.00
es/full/all/es5
165253714
ns/iter (± 619598
)163733545
ns/iter (± 1239426
)1.01
es/full/all/es2015
124430677
ns/iter (± 764945
)123664620
ns/iter (± 770983
)1.01
es/full/all/es2016
123241645
ns/iter (± 596997
)123070043
ns/iter (± 1288404
)1.00
es/full/all/es2017
122360433
ns/iter (± 930967
)121133977
ns/iter (± 528325
)1.01
es/full/all/es2018
120826376
ns/iter (± 594832
)120399907
ns/iter (± 1373266
)1.00
es/full/all/es2019
119911666
ns/iter (± 639455
)119212406
ns/iter (± 704405
)1.01
es/full/all/es2020
115901236
ns/iter (± 763322
)115815378
ns/iter (± 1160403
)1.00
es/full/parser
532335
ns/iter (± 7712
)538563
ns/iter (± 4927
)0.99
es/full/base/fixer
17352
ns/iter (± 353
)16999
ns/iter (± 74
)1.02
es/full/base/resolver_and_hygiene
80678
ns/iter (± 130
)80301
ns/iter (± 1273
)1.00
serialization of serde
296
ns/iter (± 0
)293
ns/iter (± 0
)1.01
css/minify/libraries/bootstrap
29399706
ns/iter (± 74321
)30268770
ns/iter (± 1854569
)0.97
css/visitor/compare/clone
1641557
ns/iter (± 1912
)1680501
ns/iter (± 20108
)0.98
css/visitor/compare/visit_mut_span
1791235
ns/iter (± 10170
)1795968
ns/iter (± 13876
)1.00
css/visitor/compare/visit_mut_span_panic
1842726
ns/iter (± 2790
)1886704
ns/iter (± 10778
)0.98
css/visitor/compare/fold_span
2574133
ns/iter (± 17536
)2646026
ns/iter (± 43966
)0.97
css/visitor/compare/fold_span_panic
2763538
ns/iter (± 12417
)2823509
ns/iter (± 29810
)0.98
css/lexer/bootstrap_5_1_3
4475668
ns/iter (± 4542
)4442302
ns/iter (± 35162
)1.01
css/lexer/foundation_6_7_4
3806869
ns/iter (± 1967
)3725963
ns/iter (± 1848
)1.02
css/lexer/tailwind_3_1_1
722511
ns/iter (± 678
)708244
ns/iter (± 851
)1.02
css/parser/bootstrap_5_1_3
19340223
ns/iter (± 35575
)19407447
ns/iter (± 127024
)1.00
css/parser/foundation_6_7_4
15606382
ns/iter (± 27830
)15381424
ns/iter (± 152006
)1.01
css/parser/tailwind_3_1_1
2994553
ns/iter (± 1436
)2962121
ns/iter (± 1968
)1.01
es/codegen/colors
730030
ns/iter (± 396720
)727481
ns/iter (± 396185
)1.00
es/codegen/large
2913050
ns/iter (± 1531522
)2944864
ns/iter (± 1551581
)0.99
es/codegen/with-parser/colors
45583
ns/iter (± 781
)45148
ns/iter (± 701
)1.01
es/codegen/with-parser/large
487583
ns/iter (± 1027
)482533
ns/iter (± 1372
)1.01
es/minify/libraries/antd
1151057280
ns/iter (± 11905031
)1284134043
ns/iter (± 34456869
)0.90
es/minify/libraries/d3
240463737
ns/iter (± 551078
)271283192
ns/iter (± 9425321
)0.89
es/minify/libraries/echarts
907903523
ns/iter (± 2740840
)990686795
ns/iter (± 42872898
)0.92
es/minify/libraries/jquery
74094869
ns/iter (± 218545
)75907647
ns/iter (± 766584
)0.98
es/minify/libraries/lodash
88507188
ns/iter (± 344805
)93883003
ns/iter (± 954452
)0.94
es/minify/libraries/moment
43765907
ns/iter (± 144572
)43992340
ns/iter (± 385867
)0.99
es/minify/libraries/react
16028831
ns/iter (± 193803
)16057981
ns/iter (± 82654
)1.00
es/minify/libraries/terser
188855249
ns/iter (± 1693850
)192231676
ns/iter (± 1540672
)0.98
es/minify/libraries/three
320964827
ns/iter (± 1127687
)350799576
ns/iter (± 17376729
)0.91
es/minify/libraries/typescript
2293656738
ns/iter (± 33040408
)2367560738
ns/iter (± 22690140
)0.97
es/minify/libraries/victory
492254999
ns/iter (± 6007464
)532548345
ns/iter (± 32262040
)0.92
es/minify/libraries/vue
106751425
ns/iter (± 174314
)108527402
ns/iter (± 1736833
)0.98
es/visitor/compare/clone
1930690
ns/iter (± 4446
)1982398
ns/iter (± 6287
)0.97
es/visitor/compare/visit_mut_span
2286355
ns/iter (± 5596
)2327458
ns/iter (± 28180
)0.98
es/visitor/compare/visit_mut_span_panic
2312709
ns/iter (± 4392
)2361975
ns/iter (± 21625
)0.98
es/visitor/compare/fold_span
3349339
ns/iter (± 19346
)3364921
ns/iter (± 17256
)1.00
es/visitor/compare/fold_span_panic
3452980
ns/iter (± 7795
)3518417
ns/iter (± 11975
)0.98
es/lexer/colors
13227
ns/iter (± 35
)13323
ns/iter (± 45
)0.99
es/lexer/angular
6132611
ns/iter (± 33121
)6140592
ns/iter (± 29604
)1.00
es/lexer/backbone
801752
ns/iter (± 709
)803916
ns/iter (± 1440
)1.00
es/lexer/jquery
4495883
ns/iter (± 3665
)4507483
ns/iter (± 22280
)1.00
es/lexer/jquery mobile
6886155
ns/iter (± 37704
)6966748
ns/iter (± 6115
)0.99
es/lexer/mootools
3562921
ns/iter (± 1442
)3595298
ns/iter (± 5668
)0.99
es/lexer/underscore
670531
ns/iter (± 1506
)670107
ns/iter (± 499
)1.00
es/lexer/three
21408038
ns/iter (± 53338
)21406299
ns/iter (± 21557
)1.00
es/lexer/yui
3761299
ns/iter (± 1728
)3850296
ns/iter (± 3394
)0.98
es/parser/colors
27056
ns/iter (± 50
)27865
ns/iter (± 64
)0.97
es/parser/angular
13387550
ns/iter (± 47262
)14413723
ns/iter (± 178839
)0.93
es/parser/backbone
1980625
ns/iter (± 10897
)2085041
ns/iter (± 9954
)0.95
es/parser/jquery
10775610
ns/iter (± 45470
)11517933
ns/iter (± 226145
)0.94
es/parser/jquery mobile
16559320
ns/iter (± 43803
)17908110
ns/iter (± 447336
)0.92
es/parser/mootools
8275971
ns/iter (± 21139
)8786015
ns/iter (± 69285
)0.94
es/parser/underscore
1713700
ns/iter (± 10935
)1791851
ns/iter (± 8747
)0.96
es/parser/three
46625817
ns/iter (± 170034
)49839016
ns/iter (± 671294
)0.94
es/parser/yui
8174981
ns/iter (± 31834
)8643089
ns/iter (± 93217
)0.95
es/preset-env/usage/builtin_type
136636
ns/iter (± 32059
)139180
ns/iter (± 32386
)0.98
es/preset-env/usage/property
16860
ns/iter (± 72
)17191
ns/iter (± 96
)0.98
es/resolver/typescript
89045848
ns/iter (± 1257982
)89989196
ns/iter (± 1025152
)0.99
es/fixer/typescript
64684293
ns/iter (± 837784
)64110181
ns/iter (± 801746
)1.01
es/hygiene/typescript
132700604
ns/iter (± 2297088
)134248841
ns/iter (± 2840437
)0.99
es/resolver_with_hygiene/typescript
240130753
ns/iter (± 3214127
)238568360
ns/iter (± 6433000
)1.01
es/visitor/base-perf/module_clone
59646
ns/iter (± 455
)60651
ns/iter (± 328
)0.98
es/visitor/base-perf/fold_empty
63872
ns/iter (± 216
)64592
ns/iter (± 460
)0.99
es/visitor/base-perf/fold_noop_impl_all
63860
ns/iter (± 403
)64291
ns/iter (± 469
)0.99
es/visitor/base-perf/fold_noop_impl_vec
64214
ns/iter (± 317
)64913
ns/iter (± 249
)0.99
es/visitor/base-perf/boxing_boxed_clone
57
ns/iter (± 0
)57
ns/iter (± 0
)1
es/visitor/base-perf/boxing_unboxed_clone
40
ns/iter (± 0
)39
ns/iter (± 0
)1.03
es/visitor/base-perf/boxing_boxed
106
ns/iter (± 0
)108
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_unboxed
75
ns/iter (± 0
)77
ns/iter (± 0
)0.97
es/visitor/base-perf/visit_empty
0
ns/iter (± 0
)0
ns/iter (± 0
)NaN
es/visitor/base-perf/visit_contains_this
2545
ns/iter (± 16
)2551
ns/iter (± 18
)1.00
es/base/parallel/resolver/typescript
4457138072
ns/iter (± 265055999
)4282872051
ns/iter (± 264962682
)1.04
es/base/parallel/hygiene/typescript
1461418366
ns/iter (± 19046645
)1444869137
ns/iter (± 19959866
)1.01
misc/visitors/time-complexity/time 5
154
ns/iter (± 0
)150
ns/iter (± 0
)1.03
misc/visitors/time-complexity/time 10
442
ns/iter (± 2
)421
ns/iter (± 7
)1.05
misc/visitors/time-complexity/time 15
801
ns/iter (± 2
)797
ns/iter (± 1
)1.01
misc/visitors/time-complexity/time 20
1287
ns/iter (± 1
)1286
ns/iter (± 0
)1.00
misc/visitors/time-complexity/time 40
4352
ns/iter (± 7
)5019
ns/iter (± 5
)0.87
misc/visitors/time-complexity/time 60
9030
ns/iter (± 24
)9036
ns/iter (± 37
)1.00
es/full-target/es2016
234148
ns/iter (± 785
)235313
ns/iter (± 1036
)1.00
es/full-target/es2017
221535
ns/iter (± 1199
)224621
ns/iter (± 853
)0.99
es/full-target/es2018
208767
ns/iter (± 310
)213606
ns/iter (± 669
)0.98
es2020_nullish_coalescing
71561
ns/iter (± 300
)71340
ns/iter (± 451
)1.00
es2020_optional_chaining
81668
ns/iter (± 300
)81692
ns/iter (± 347
)1.00
es2022_class_properties
116335
ns/iter (± 2886
)117217
ns/iter (± 321
)0.99
es2018_object_rest_spread
76003
ns/iter (± 211
)75876
ns/iter (± 222
)1.00
es2019_optional_catch_binding
64743
ns/iter (± 161
)64953
ns/iter (± 249
)1.00
es2017_async_to_generator
65223
ns/iter (± 210
)65275
ns/iter (± 401
)1.00
es2016_exponentiation
69245
ns/iter (± 278
)69966
ns/iter (± 367
)0.99
es2015_arrow
72623
ns/iter (± 219
)72187
ns/iter (± 224
)1.01
es2015_block_scoped_fn
69298
ns/iter (± 232
)69328
ns/iter (± 285
)1.00
es2015_block_scoping
124348
ns/iter (± 469
)125702
ns/iter (± 447
)0.99
This comment was automatically generated by workflow using github-action-benchmark.