[Fizz] Share code between inline and external runtime (#33066)
Stacked on #33065. The runtime is about to be a lot more complicated so we need to start sharing some more code. The problem with sharing code is that we want the inline runtime to as much as possible be isolated in its scope using only a few global variables to refer across runtimes. A problem with Closure Compiler is that it refuses to inline functions if they have closures inside of them. Which makes sense because of how VMs work it can cause memory leaks. However, in our cases this doesn't matter and code size matters more. So we can't use many clever tricks. So this just favors writing the source in the inline form. Then we add an extra compiler pass to turn those global variables into local variables in the external runtime.
S
Sebastian Markbåge committed
bb57fa7351776a86448c1a094bea8108fd6b34ff
Parent: e9db3cc
Committed by GitHub <[email protected]>
on 5/1/2025, 6:25:10 PM