Support two gated dynamic-tier runtime units

The checked-dynamic tier needs two more optional units: Array.prototype's
generic algorithms over array-like receivers (scr_dyn_array_like.c) and the
Number/Boolean prototype objects as values (scr_dyn_builtin_prototype.c).
Both are listed as optional runtime sources under a predicate of their own
(all(<feature>, "dynInvoke")), so they link only into a program whose IR
uses the matching libCall, and neither is an always-linked unit. Their
symbol prefixes are in DYNAMIC_TIER_PREFIXES, so a fully typed executable
may not carry them either.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Malte Ubl
2026-10-29 05:38:56 -07:00
co-authored by Claude Opus 5.5
parent 0faade48ae
commit e19fa7a6b1
15 changed files with 928 additions and 0 deletions
+2
View File
@@ -357,6 +357,8 @@ export const DYNAMIC_TIER_PREFIXES = [
"scr_dyn_call",
"scr_dyn_apply",
"scr_dyn_invoke",
"scr_dyn_array_like",
"scr_dyn_builtin_prototype",
"scr_dyn_construct",
"scr_dyn_function_apply",
"scr_dyn_fn_get",