Profile Guided Offline Optimization of Hidden Class Graphs for JavaScript VMs in Embedded
summary
Collects hidden‑class graphs from a profiling run, rewrites the graph offline to remove intermediate transition nodes and to move unlikely property branches to the end of allocation order, then ships the optimized graph to the production VM. Implementation in eJSVM applies in‑object property allocation to avoid indirection, reduces polymorphism of inline caches, and reports 61.9% fewer hidden classes on average with an overall ~17% object memory footprint reduction and mixed runtime speed changes.
AI-written summary · about
chapters (6)
- 0:00Start
- 4:00JavaScript Object
- 6:45Hidden Class Transition
- 7:38Hidden Class Graph
- 22:28Run-time optimisation
- 23:19in-object allocation
related talks
26mJavaScript VMs 101
26mJavaScript Level 9000
29mThe Footprint of Performance
16mHidden Inheritance: An Inline Caching Design for TypeScript Performance
40mA Tale of Types, Classes, and Maps
23mA sneak peek into super optimized code in JS frameworks
55mA sneak peek into super optimized code in JS frameworks
33mJavaScript: The V8 Engine optimization tips (...)
