mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-11 01:22:43 +02:00
Convert the walk_env_chain macro to take its outputs (target_env, bind_index) as explicit parameters, then migrate every handler that walks the environment chain: GetBinding, GetInitializedBinding, InitializeLexicalBinding, SetLexicalBinding, and GetCalleeAndThisFromEnvironment. The macro's internal scratch (the EnvironmentCoordinate address, the hops counter, the invalid-coord sentinel, and the screwed-by-eval flag) is now declared as macro-local temps that the allocator places without touching whatever the caller has live. Each handler picks its own names for env / idx / binding / value, instead of remembering that the macro happens to leave them in t3 and t2.