Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(es/codegen): Fix codegen of a negative number (#5980)
**Related issue:** - Closes #5912.
- Loading branch information
Showing
6 changed files
with
632 additions
and
1 deletion.
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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
31 changes: 31 additions & 0 deletions
31
crates/swc_ecma_codegen/tests/fixture/issue-5912/output.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,31 @@ | ||
function te(a) { | ||
var b, c, d, e, f; | ||
if (isNaN(a)) { | ||
return Qe(), Pe; | ||
} | ||
if (a < -9223372036854775808) { | ||
return Qe(), Ne; | ||
} | ||
if (a >= 9223372036854775807) { | ||
return Qe(), Me; | ||
} | ||
e = false; | ||
if (a < 0) { | ||
e = true; | ||
a = -a; | ||
} | ||
d = 0; | ||
if (a >= 17592186044416) { | ||
d = Bc(a / 17592186044416); | ||
a -= d * 17592186044416; | ||
} | ||
c = 0; | ||
if (a >= 4194304) { | ||
c = Bc(a / 4194304); | ||
a -= c * 4194304; | ||
} | ||
b = Bc(a); | ||
f = de(b, c, d); | ||
e && je(f); | ||
return f; | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.
bc2c0f4
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/minify/libraries/antd
1945108277
ns/iter (± 77596071
)2007905531
ns/iter (± 88971870
)0.97
es/full/minify/libraries/d3
399667406
ns/iter (± 36032602
)398013102
ns/iter (± 13676957
)1.00
es/full/minify/libraries/echarts
1488803960
ns/iter (± 105592948
)1529119784
ns/iter (± 95134532
)0.97
es/full/minify/libraries/jquery
106138828
ns/iter (± 11083716
)103195793
ns/iter (± 2600636
)1.03
es/full/minify/libraries/lodash
128465371
ns/iter (± 8481592
)127528041
ns/iter (± 7207304
)1.01
es/full/minify/libraries/moment
58846561
ns/iter (± 7277334
)60300957
ns/iter (± 4586704
)0.98
es/full/minify/libraries/react
21436699
ns/iter (± 453679
)24044049
ns/iter (± 2262615
)0.89
es/full/minify/libraries/terser
305184672
ns/iter (± 2841832
)311509964
ns/iter (± 19845208
)0.98
es/full/minify/libraries/three
511730917
ns/iter (± 5439184
)518887216
ns/iter (± 56305694
)0.99
es/full/minify/libraries/typescript
3335138806
ns/iter (± 114989875
)3384522103
ns/iter (± 512581745
)0.99
es/full/minify/libraries/victory
782149711
ns/iter (± 49890128
)783701250
ns/iter (± 57080243
)1.00
es/full/minify/libraries/vue
152016958
ns/iter (± 3637866
)160310806
ns/iter (± 26361830
)0.95
es/full/codegen/es3
34808
ns/iter (± 3348
)34322
ns/iter (± 614
)1.01
es/full/codegen/es5
34676
ns/iter (± 3616
)34437
ns/iter (± 1010
)1.01
es/full/codegen/es2015
34698
ns/iter (± 1771
)34786
ns/iter (± 2772
)1.00
es/full/codegen/es2016
34538
ns/iter (± 3101
)34787
ns/iter (± 2104
)0.99
es/full/codegen/es2017
34900
ns/iter (± 3083
)34395
ns/iter (± 751
)1.01
es/full/codegen/es2018
34700
ns/iter (± 3412
)34495
ns/iter (± 2165
)1.01
es/full/codegen/es2019
36605
ns/iter (± 5831
)34316
ns/iter (± 2948
)1.07
es/full/codegen/es2020
34823
ns/iter (± 1876
)34360
ns/iter (± 2148
)1.01
es/full/all/es3
217252743
ns/iter (± 20851949
)195462334
ns/iter (± 20792479
)1.11
es/full/all/es5
196535919
ns/iter (± 23426926
)210167802
ns/iter (± 26599376
)0.94
es/full/all/es2015
153366324
ns/iter (± 13527765
)154312499
ns/iter (± 22325741
)0.99
es/full/all/es2016
148125665
ns/iter (± 10242162
)148706601
ns/iter (± 13489313
)1.00
es/full/all/es2017
163945974
ns/iter (± 14146921
)155748651
ns/iter (± 14776652
)1.05
es/full/all/es2018
161949574
ns/iter (± 12333155
)152840579
ns/iter (± 18292527
)1.06
es/full/all/es2019
144131574
ns/iter (± 15397045
)142309851
ns/iter (± 9770928
)1.01
es/full/all/es2020
139611264
ns/iter (± 13375170
)140043893
ns/iter (± 8299070
)1.00
es/full/parser
729479
ns/iter (± 42186
)729707
ns/iter (± 25234
)1.00
es/full/base/fixer
25553
ns/iter (± 745
)25989
ns/iter (± 928
)0.98
es/full/base/resolver_and_hygiene
93273
ns/iter (± 4962
)95245
ns/iter (± 6563
)0.98
serialization of ast node
211
ns/iter (± 4
)217
ns/iter (± 4
)0.97
serialization of serde
226
ns/iter (± 7
)224
ns/iter (± 2
)1.01
This comment was automatically generated by workflow using github-action-benchmark.