mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-21 05:50:55 +08:00
Re-lands perf/h30-inline-rc (00051ca0, 40398773, 07972360) behind the speed posture. With inline RC on, every mirrored runtime RC family retains inline and releases inline down to the rc == 1 / new cycle candidate slow path (shapes.ts INLINE_RC_FAMILIES). Release emission is unchanged: ShapeHost.rcHelpers is null unless LlvmTargetOptions.inlineRc is set, and every retain/release (including capture boxes) stays a runtime call; the %ScrMapRc type is only emitted with inline RC. - index.ts and native/prepare.ts pass inlineRc for speed executables, speed object/asm emission, and speed library profiles. - scr_runtime.h keeps H30's static asserts for the mirrored header and trace-slot offsets (no code change; the rebuilt macOS pack's manifest is identical to the baseline's). - Tests: shapes.test.ts pins release symbols and H30's speed fast paths and header offsets; emitter.test.ts pins that release IR is unchanged and speed routes releases through the helpers. The differential harness gains `// @optimization: speed` (and a SCRIPTC_TEST_OPTIMIZATION=speed lane); corpus 4032 pins every mirrored family under speed. Release executables stay byte-identical to the stack tip (14/14 workloads, macOS).