Didi Tech
May 17, 2021 · Backend Development
Implementation of JSValue in JavaScript Engines: Tagged, Boxing, and Pointer Techniques
The article surveys how major JavaScript engines represent the dynamic JSValue type—using QuickJS’s tagged unions, JavaScriptCore’s NaN‑boxing, SpiderMonkey’s nun‑/pun‑boxing, V8’s tagged pointers with compression, and iOS’s Objective‑C pointer tags—explaining each scheme’s memory layout, performance trade‑offs, and design rationale.
JSValueJavaScript EngineMemory Optimization
0 likes · 11 min read