swc-project
swc
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
fix(es/transforms): use numeric literals for non-finite enum values
fix/non-finite-number-transforms
7 minutes ago
fix(es/transforms): use numeric literals for non-finite enum values
fix/non-finite-number-transforms
5 hours ago
fix(es/minifier): use numeric literals for non-finite values
fix/non-finite-number-minifier
6 hours ago
fix(es/codegen): emit non-finite numeric literals
fix/non-finite-number-codegen
6 hours ago
fix(es/minifier): use numeric literals for non-finite values
fix/non-finite-number-minifier
7 hours ago
fix(es/codegen): emit non-finite numeric literals
fix/non-finite-number-codegen
7 hours ago
fix(es/ast): support hashing non-finite numbers (#12043) **Description:** Canonicalize non-finite numeric values in `Lit::Num` while preserving the existing ECMA AST `Hash` API. SWC currently represents `Infinity` and `NaN` in several forms. `eval_global_vars` rewrites `Infinity` to `1 / 0`, while `eval_numbers` can rewrite division by zero back to an `Infinity` identifier. Other constant-evaluation paths produce `Lit::Num(INFINITY)`, which codegen prints as `Infinity`. This churn makes optimization passes repeatedly recognize equivalent values in different AST forms. Follow esbuild’s approach of using semantic constants during optimization. Allow `Lit::Num` to store valid JavaScript non-finite values as the canonical internal representation, and leave syntax selection to codegen. Codegen can emit readable `Infinity` and `NaN` when safe or shorter `1 / 0` and `0 / 0` when minifying. **BREAKING CHANGE:** `Number` now treats all NaN values as equal and distinguishes `-0.0` from `+0.0`.
main
11 hours ago
chore: Add changeset for identity rename optimization
kdy1:kdy1/changeset-12041
13 hours ago
Latest Branches
CodSpeed Performance Gauge
+3%
fix(es/transforms): use numeric literals for non-finite enum values
#12049
5 hours ago
4fbad6b
fix/non-finite-number-transforms
CodSpeed Performance Gauge
-2%
fix(es/minifier): use numeric literals for non-finite values
#12048
7 hours ago
241b207
fix/non-finite-number-minifier
CodSpeed Performance Gauge
0%
fix(es/codegen): emit non-finite numeric literals
#12047
8 hours ago
59d5ad7
fix/non-finite-number-codegen
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs