dyn.js - 100% invokedynamic JavaScript implementation
summary
Claims a Java 7 invokedynamic on JVM JavaScript runtime called gjs (dyn js) that links dynamic calls via Dynalink/method handles, removes massive glue code, and generates bytecode with a small internal DSL for an AOT-style per-function compiler. It currently implements ES3 parsing, prototype chains and autoboxing, exposes a disassembler repo and debug dumps, and is early work in progress — not spec complete — with early runs stated as roughly 4–8× faster than JRuby on some workloads.
AI-written summary · about
chapters (12)
- 0:00Intro
- 0:37opensource freak
- 5:18challenge accepted
- 7:56interface
- 11:59bytecode (disassembled)
- 14:00defining the literal
- 14:12storing the primitive on scope
- 17:19we issue a dynamic instruction
- 17:52remember?
- 18:27get the pointer
- 21:30current status
- 25:46questions?
related talks
20minvokedynamic.js
27mJavaScript as a compilation target - Making it fast
26mDart-JavaScript interoperability
36mFast and Dynamic
29mJavaScript in JavaScript: Inception
24mmö.js - explaining js vm in js
45mNashorn: implementing a dynamic language runtime on JVM in 2014
44mj2me.js - a multi-threaded Java VM in JavaScript
