Files
sdk/runtime/vm
Modestas Valauskas c5d547fdb8 [vm/compiler] Preset far_branch_level for huge JIT-optimized functions.
When the unoptimized code of a function exceeds 1 MB, start its
optimized compile with far_branch_level=1 instead of 0. Without this,
the assembler fails on out-of-range conditional branches at level=0,
longjmps out of the optimizing pipeline, and the whole pipeline reruns
at level=1 from scratch.

Measured on a naive 49 KLOC generated lexer with --huge_method_cutoff
gates lifted: JIT compile drops from ~26.6s to ~13.2s (about 50%).

Work towards https://github.com/dart-lang/sdk/issues/63230

TEST=ci

Change-Id: I2608a23ef899603a46b401b71be7322b7a8dd44b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/506120
Auto-Submit: Modestas Valauskas <valauskasmodestas@gmail.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
2026-05-26 08:10:15 -07:00
..
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-04-13 10:10:42 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-01-27 09:14:39 -08:00
2026-01-27 09:14:39 -08:00
2026-03-04 12:40:19 -08:00
2026-03-04 12:40:19 -08:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-03-04 12:40:19 -08:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-03-04 12:40:19 -08:00
2026-05-20 19:36:12 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-01-27 09:14:39 -08:00
2026-01-27 09:14:39 -08:00
2026-05-18 11:35:03 -07:00
2026-01-27 09:14:39 -08:00
2026-01-27 09:14:39 -08:00
2026-01-27 09:14:39 -08:00
2026-01-27 09:14:39 -08:00
2026-01-27 09:14:39 -08:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-01-27 09:14:39 -08:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-20 08:21:30 -07:00
2026-03-04 12:40:19 -08:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-01-27 09:14:39 -08:00
2026-01-27 09:14:39 -08:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00
2026-01-27 09:14:39 -08:00
2026-05-18 11:35:03 -07:00
2026-05-18 11:35:03 -07:00