GraalVM: metaprogramming inside a polyglot system (invited talk)
暂无分享,去创建一个
GraalVM is a polyglot virtual machine for running applications written in a variety of languages such as JavaScript, Ruby, Python, R, JVM-based languages like Java, Scala, Kotlin, and LLVM-based languages such as C and C++. GraalVM enables interoperability between different programming languages in a shared runtime, and can run either standalone or embedded in other software systems such as Node.js, the Oracle RDBMS, and MySQL. In this talk I will give an overview of GraalVM and present how polyglot features such as language interoperability and language-agnostic instrumentation are enabled in GraalVM by means of VM-internal metaprogramming.
[1] Michael Haupt,et al. Fast, Flexible, Polyglot Instrumentation Support for Debuggers and other Tools , 2018, Art Sci. Eng. Program..
[2] Christian Wimmer,et al. Practical partial evaluation for high-performance dynamic language runtimes , 2017, PLDI.
[3] Haiyang Sun,et al. Efficient dynamic analysis for Node.js , 2018, CC.
[4] Hanspeter Mössenböck,et al. High-performance cross-language interoperability in a multi-language runtime , 2015, DLS.