vercel
next.js
BlogDocsChangelog

Turbopack: Fix compound assignment expression evaluation

#85478Merged
Comparing
hayes:canary
(
f308f17
) with
hayes/compound-assignment
(
1db1762
)
CodSpeed Performance Gauge
-7%
Regressions
1
Untouched
7
Skipped
12

Benchmarks

Skipped (12)

hmr_updates_medium_10
crates/next-api/benches/hmr.rs
IgnoredSkipped
17.2 µs*
hmr_updates_large_20
crates/next-api/benches/hmr.rs
IgnoredSkipped
16.9 µs*
hmr_updates_small_5
crates/next-api/benches/hmr.rs
IgnoredSkipped
16.8 µs*
build[shiki]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
Skipped
5.5 s*
build[date-fns-all]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
Skipped
2.3 s*
build[framer-motion-all]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
Skipped
3.1 s*
build[date-fns-single]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
Skipped
1.4 s*
build[framer-motion-single]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
Skipped
2.2 s*
build[joy]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
Skipped
2.1 s*
build[lucide-react-all]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
Skipped
8.7 s*
build[lucide-react-single]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
Skipped
950 ms*
build[mui]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
Skipped
3.2 s*

Failed

react-dom-client.development.js[full]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
Regression
CodSpeed Performance Gauge
-7%
427.9 ms461.5 ms

Passed

jsonwebtoken.js[tracing]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
+1%
327.5 ms324.5 ms
app-page-turbo.runtime.prod.js[full]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
780.5 ms777.3 ms
app-page-turbo.runtime.prod.js[tracing]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
670.6 ms668.3 ms
packages-bundle.js[tracing]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
1.1 s1.1 s
jsonwebtoken.js[full]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
367.9 ms366.8 ms
react-dom-client.development.js[tracing]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
407.2 ms406 ms
packages-bundle.js[full]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
1.3 s1.3 s

Commits

Click on a commit to change the comparison range
Base
canary
1db1762
+8.56%
Turbopack: Fix compound assignment expression evaluation Previously, the analyzer treated all assignment expressions the same way, evaluating them as their right-hand side value. This was incorrect for compound assignments (+=, -=, *=, |=, >>=, etc.), which compute a new value based on both the left and right operands. This commit distinguishes between simple assignments (=) and compound assignments. Simple assignments continue to evaluate to the right-hand side, while compound assignments are now properly marked as unknown values with side effects. Also adds tests for compound assignments in conditionals, covering bitshift operations (>>=, <<=, >>>=) and bitwise operations (|=, &=, ^=) with both numbers and bigints.
9197606
6 days ago
by hayes
-15.84%
Merge branch 'canary' into canary
f308f17
4 days ago
by ijjk
© 2025 CodSpeed Technology
Home Terms Privacy Docs