Good news everyone! 🎉 After two years of R&D, we've finally merged the Bytecode DSL into master! Truffle now generates bytecode interpreters from AST-like specifications for you. ASTs are dead, long live bytecodes! Check it out: github.com/oracle/graal...
Post
Thanks to the reviewers @awoess.bsky.social , @eregon.bsky.social, Stepan Sindelar, @gillesduboscq.bsky.social, Matthias Neugschwandtner, and special thanks to @stefan-marr.de for early adopting it with TruffleSOM.
1 repost7 likes
SimpleLanguage was fully migrated already. You can check out the specification here: github.com/oracle/graal... In progress for migration are GraalPy and GraalJS. GraalPy already passes all the tests. 🎉
This major feature will be released with 24.2. You can test it by building Truffle from source or you can pick up the latest dev build maven bundle from: github.com/graalvm/graa...
This is just the beginning. From now on with every @graalvm.org release we will improve performance, compress the bytecode layout and add new features like a fast first tier template JIT. Thanks to the DSL abstraction we are much more flexible for future optimizations.