学术出版物
本页面介绍了由甲骨文实验室及其学术合作者发布的与 Graal 编译器和 Truffle 相关的各种演示文稿和出版物。
Truffle
GraalVM 提供了 Truffle 框架,用于在 Java 中实现托管语言,在提高语言性能的同时,实现与其他 Truffle 语言的集成并提供工具支持——所有这些都只需在 Java 中实现一个抽象语法树 (AST) 解释器。Truffle 在解释过程中应用 AST 专用化,这使得部分求值能够创建高度优化后的本地代码,而无需为特定语言编写编译器。Java VM 提供了高性能的垃圾回收、线程和并行支持。
甲骨文实验室和外部研究组已经在 Truffle 之上实现了多种编程语言,包括 JavaScript、Python、Ruby、R、Smalltalk 等。其中一些已经超越了该语言之前存在的最佳实现。
我们建议观看 Christian Humer 关于使用 Truffle 进行动态元编译的演示,并查阅本页面上列出的您感兴趣的 Truffle 学术出版物。您还可以在网站上找到全面的 Truffle 文档。
Graal 编译器
Graal 编译器是一个用 Java 编写的优化动态编译器。由于其高度可配置和可扩展性,它在许多基准测试中为包括 Java 和 JavaScript 在内的各种托管语言提供了出色的峰值性能。这使得编译器研究达到了一个新的水平:研究人员可以立即在多种语言上评估新的编译器优化。如果您是语言实现者,好奇像 Java HotSpot VM 这样的现代虚拟机是如何优化您的代码的,您可以在 Doug Simon 的演示文稿《查看 GraalVM 编译器》中找到答案。
演示文稿涵盖以下主题:
- 如何从源代码构建 GraalVM 发行版
- 编译器如何利用 Java 语言特性简化开发:注解、单元测试以及针对单个编译器优化的基准测试
- 在 GraalVM 项目中应查看哪些主要类
- 编译封装器等等
在下方您还可以找到您感兴趣的编译器学术出版物,或者查看网站上的 Graal 编译器文档。
学术出版物
2024
-
Matteo Oldani, William Blair, Lukas Stadler, Zbynek Slajchrt, Matthias Neugschwandtner Binsweep: Reliably Restricting Untrusted Instruction Streams with Static Binary Analysis and Control-Flow Integrity 选自 Proceedings of the ACM Cloud Computing Security Workshop (CCSW’24)
-
Florian Huemer, David Leopoldseder, Aleksandar Prokopec, Raphael Mosaner, Hanspeter Moessenboeck Taking a Closer Look: An Outlier-Driven Approach to Compilation-Time Optimization 选自 Proceedings of the ECOOP 2024 Doctoral Symposium
-
Andrej Pecimuth, David Leopoldseder, Petr Tuma Accurate Compilation Replay via Remote JIT Compilation 海报展示于第 21 届托管编程语言和运行时国际会议 (MPLR 2024)
-
Christoph Blumschein, Fabio Niephaus, Codrut Stancu, Christian Wimmer, Jens Lincke, Robert Hirschfeld Finding Cuts in Static Analysis Graphs to Debloat Software 选自 Proceedings of the ACM SIGSOFT International Symposium on Software Testing and Analysis
-
Ivan Ristovic, Milan Cugurovic, Strahinja Stanojevic, Marko Spasic, Vesna Marinkovic, Milena Vujosevic Janicic Efficient control-flow graph traversal 选自 Proceedings of YU INFO 2024s
-
Christian Wimmer, Codrut Stancu, David Kozak, Thomas Wuerthinger Scaling Type-Based Points-to Analysis with Saturation 选自 Proceedings of PLDI 2024
-
Milan Cugurovic, Milena Vujosevic Janicic, Vojin Jovanovic, Thomas Wuerthinger GraalSP: Polyglot, Efficient, and Robust Machine Learning-Based Static Profiler Journal of Systems and Software
2023
-
Maja Vukasovic, Aleksandar Prokopec Exploiting Partially Context-sensitive Profiles to Improve Performance of Hot Code 选自 Proceedings of the ACM Transactions on Programming Languages and Systems
-
Matt D’Souza, James You, Ondrej Lhoták, Aleksandar Prokopec TASTyTruffle: Just-in-Time Specialization of Parametric Polymorphism 选自 Proceedings of the ACM on Programming Languages
-
Matteo Basso, Aleksandar Prokopec, Andrea Rosà, Walter Binder Optimization-Aware Compiler-Level Event Profiling 选自 Proceedings of the ACM Transactions on Programming Languages and Systems
-
Andrej Pecimuth Remote Just-in-Time Compilation for Dynamic Languages 选自 Proceedings of the SPLASH 2023 Doctoral Symposium
-
Andrej Pecimuth, David Leopoldseder, Petr Tuma Diagnosing Compiler Performance by Comparing Optimization Decisions 选自 Proceedings of the 20th International Conference on Managed Programming Languages and Runtimes (MPLR 2023)
-
Julian Garn, Florian Angerer, Hanspeter Moessenboeck Generating Java Interfaces for Accessing Foreign Objects 选自 Proceedings of the 20th International Conference on Managed Programming Languages and Runtimes (MPLR 2023)
-
David Kozak, Vojin Jovanovic, Codrut Stancu, Tomas Vojnar, Christian Wimmer Comparing Rapid Type Analysis with Points-To Analysis in GraalVM Native Image 选自 Proceedings of the 20th International Conference on Managed Programming Languages and Runtimes (MPLR 2023)
2022
-
Jacob Kreindl, Daniele Bonetta, Lukas Stadler, David Leopoldseder, Hanspeter Moessenboeck TruffleTaint: Polyglot Dynamic Taint Analysis on GraalVM 选自 Proceedings of the 19th International Conference on Managed Programming Languages and Runtimes (MPLR’22)
-
Raphael Mosaner, David Leopoldseder, Wolfgang Kisling, Lukas Stadler, Hanspeter Moessenboeck ML-SOCO: Machine Learning-Based Self-Optimizing Compiler Optimizations 选自 Proceedings of the 19th International Conference on Managed Programming Languages & Runtimes (MPLR’22)
-
Lukas Makor, Sebastian Kloibhofer, David Leopoldseder, Daniele Bonetta, Lukas Stadler, Hanspeter Moessenboeck Automatic Array Transformation to Columnar Storage at Run Time 选自 Proceedings of the 19th International Conference on Managed Programming Languages & Runtimes (MPLR’22)
-
Felix Berlakovich, Gergo Barany, Matthias Neugschwandtner Constant Blinding on GraalVM 选自 Proceedings of the 15th EUROPEAN WORKSHOP ON SYSTEMS SECURITY
-
Stefan Reschke, Toni Mattis, Fabio Niephaus, Robert Hirschfeld Toward Just-in-time and Language-agnostic Mutation Testing 选自 Proceedings of the MoreVMs’22 workshop at ‹Programming› 2022
2021
-
David Justo, Shaoqing Yi, Lukas Stadler, Nadia Polikarpova, Arun Kumar Towards a polyglot framework for factorized ML 选自 Proceedings of the VLDB Endowment 14, Issue 12 (VLDB 2021 Industry Track)
-
Daniele Bonetta, Filippo Schiavio, Walter Binder Language-Agnostic Integrated Queries in a Managed Polyglot Runtime 选自 Proceedings of the VLDB Endowment 2021
2020
-
Fabio Niephaus, Patrick Rein, Jakob Edding, Jonas Hering, Bastian König, Kolya Opahle, Nico Scordialo, Robert Hirschfeld Example-based Live Programming for Everyone: Building Language-agnostic Tools for Live Programming With LSP and GraalVM 选自 Proceedings of the ACM Symposium for New Ideas, New Paradigms, and Reflections on Everything to do with Programming and Software (Onward! 2020)
-
Jacob Kreindl, Daniele Bonetta, Lukas Stadler, David Leopoldseder, Hanspeter Moessenboeck Multi-language Dynamic Taint Analysis in a Polyglot Virtual Machine 选自 Proceedings of the 17th International Conference on Managed Programming Languages and Runtimes (MPLR 2020)
-
Alexander Riese, Fabio Niephaus, Tim Felgentreff, Robert Hirschfeld User-Defined Interface Mappings for the GraalVM 选自 Proceedings of the Interconnecting Code Workshop (ICW) 2020, companion volume to International Conference on the Art, Science, and Engineering of Programming (‹Programming›)
-
Jan Ehmueller, Alexander Riese, Hendrik Tjabben, Fabio Niephaus, Robert Hirschfeld Polyglot Code Finder 选自 Proceedings of the Programming Experience 2020 (PX/20) Workshop, companion volume to International Conference on the Art, Science, and Engineering of Programming (‹Programming›)
-
Johannes Henning, Tim Felgentreff, Fabio Niephaus, Robert Hirschfeld Toward Presizing and Pretransitioning Strategies for GraalPython 选自 Proceedings of the Workshop on Modern Language Runtimes, Ecosystems, and VMs (MoreVMs) 2020, companion volume to International Conference on the Art, Science, and Engineering of Programming (‹Programming›)
2019
-
Christian Wimmer, Peter Hofer, Codrut Stancu, Vojin Jovanovic, Peter Kessler, Thomas Wuerthinger, Oleg Pliss, Paul Woegerer Initialize Once, Start Fast: Application Initialization at Build Time 选自 Proceedings of the ACM on Programming Languages
-
Fabio Niephaus, Tim Felgentreff, Robert Hirschfeld GraalSqueak: Toward a Smalltalk-based Tooling Platform for Polyglot Programming 选自 Proceedings of the International Conference on Managed Programming Languages and Runtimes (MPLR 2019)
-
Aleksandar Prokopec, Gilles Duboscq, David Leopoldseder, Thomas Wuerthinger An Optimization-Driven Incremental Inline Substitution Algorithm for Just-In-Time Compilers 选自 Proceedings of the 2019 International Symposium on Code Generation and Optimization (CGO 2019)
-
Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tůma, Martin Studener, Lubomír Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Würthinger, Walter Binder Renaissance: benchmarking suite for parallel applications on the JVM 选自 Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2019)
-
Christian Humer, Tim Felgentreff, Robert Hirschfeld, Fabio Niephaus, Daniel Stolpe Language-independent Development Environment Support For Dynamic Runtimes 选自 Proceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages
-
Florian Latifi, David Leopoldseder Practical Second Futamura Projection 选自 Proceedings Companion of the 2019 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity
-
Jacob Kreindl, Hanspeter Moessenboeck, Daniele Bonetta Towards Efficient, Multi-Language Dynamic Taint Analysis 选自 Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes
-
Raphael Mosaner, Hanspeter Moessenboeck, Manuel Rigger, Roland Schatz, David Leopoldseder Supporting On-Stack Replacement in Unstructured Languages by Loop Reconstruction and Extraction 选自 Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes
-
Robert Hirschfeld, Christian Humer, Fabio Niephaus, Daniel Stolpe, Tim Felgentreff Language-independent Development Environment Support For Dynamic Runtimes 选自 Proceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages
-
Stefan Marr, Manuel Rigger, Bram Adams, Hanspeter Moessenboeck Understanding GCC Builtins to Develop Better Tools 选自 Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
-
Fabio Niephaus, Tim Felgentreff, and Robert Hirschfeld GraalSqueak: Toward a Smalltalk-based Tooling Platform for Polyglot Programming 选自 Proceedings of the International Conference on Managed Programming Languages and Runtimes (MPLR) 2019
-
Daniel Stolpe, Tim Felgentreff, Christian Humer, Fabio Niephaus, and Robert Hirschfeld Language-independent Development Environment Support for Dynamic Runtimes 选自 Proceedings of the Dynamic Languages Symposium (DLS) 2019
-
Fabio Niephaus, Tim Felgentreff, Tobias Pape, and Robert Hirschfeld Efficient Implementation of Smalltalk Activation Records in Language Implementation Frameworks 选自 Proceedings of the Workshop on Modern Language Runtimes, Ecosystems, and VMs (MoreVMs) 2019, companion volume to International Conference on the Art, Science, and Engineering of Programming (‹Programming›)
-
Fabio Niephaus, Eva Krebs, Christian Flach, Jens Lincke, and Robert Hirschfeld PolyJuS: A Squeak/Smalltalk-based Polyglot Notebook System for the GraalVM 选自 Proceedings of the Programming Experience 2019 (PX/19) Workshop, companion volume to International Conference on the Art, Science, and Engineering of Programming (‹Programming›)
-
Fabio Niephaus, Tim Felgentreff, and Robert Hirschfeld Towards Polyglot Adapters for the GraalVM 选自 Proceedings of the Interconnecting Code Workshop (ICW) 2019, companion volume to International Conference on the Art, Science, and Engineering of Programming (‹Programming›)
2018
-
Kevin Menard, Chris Seaton, Benoit Daloze Specializing Ropes for Ruby 选自 Proceedings of the 15th International Conference on Managed Languages & Runtimes (ManLang’18)
-
B. Daloze, A. Tal, S. Marr, H. Moessenboeck, E. Petrank Parallelization of Dynamic Languages: Synchronizing Built-in Collections 选自 Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2018)
-
David Leopoldseder, Roland Schatz, Lukas Stadler, Manuel Rigger, Thomas Wuerthinger, Hanspeter Moessenboeck Fast-Path Loop Unrolling of Non-Counted Loops to Enable Subsequent Compiler Optimizations 选自 Proceedings of the 15th International Conference on Managed Languages & Runtimes, Article No. 2 (ManLang’18)
-
David Leopoldseder, Lukas Stadler, Thomas Würthinger, Josef Eisl, Doug Simon, Hanspeter Moessenboeck Dominance-based duplication simulation (DBDS): code duplication to enable compiler optimizations 选自 Proceedings of the 2018 International Symposium on Code Generation and Optimization (CGO 2018)
-
Matthias Grimmer, Roland Schatz, Chris Seaton, Thomas Wuerthinger, Mikel Lujan Cross-Language Interoperability in a Multi-Language Runtime 选自 ACM Transactions on Programming Languages and Systems (TOPLAS), Vol. 40, No. 2, 2018
-
Fabio Niephaus, Tim Felgentreff, and Robert Hirschfeld GraalSqueak: A Fast Smalltalk Bytecode Interpreter Written in an AST Interpreter Framework 选自 Proceedings of the Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs, and Systems (ICOOOLPS) 2018
-
Manuel Rigger, Roland Schatz, Jacob Kreindl, Christian Haeubl, Hanspeter Moessenboeck Sulong, and Thanks for All the Fish MoreVMs Workshop on Modern Language Runtimes, Ecosystems, and VMs (MoreVMs 2018)
-
Michael Van De Vanter, Chris Seaton, Michael Haupt, Christian Humer, and Thomas Würthinger Fast, Flexible, Polyglot Instrumentation Support for Debuggers and other Tools 选自 The Art, Science, and Engineering of Programming, vol. 2, no. 3, 2018, article 14 (<Programming 2018>, Nice, France, April 12, 2018) DOI
2017
-
T. Würthinger, C. Wimmer, C. Humer, A. Wöss, L. Stadler, C. Seaton, G. Duboscq, D. Simon, M. Grimmer Practical Partial Evaluation for High-Performance Dynamic Language Runtimes 选自 Proceedings of the Conference on Programming Language Design and Implementation (PLDI) 视频录像 DOI: 10.1145/3062341.3062381
-
Juan Fumero, Michel Steuwer, Lukas Stadler, Christophe Dubach Just-In-Time GPU Compilation for Interpreted Languages with Partial Evaluation 选自 Proceedings of the 13th ACM International Conference on Virtual Execution Environments (VEE’17) DOI: 10.1145/3050748.3050761
-
Michael Van De Vanter Building Flexible, Low-Overhead Tooling Support into a High-Performance Polyglot VM (Extended Abstract) MoreVMs Workshop on Modern Language Runtimes, Ecosystems, and VMs。
-
Juan Fumero, Michel Steuwer, Lukas Stadler, Christophe Dubach. OpenCL JIT Compilation for Dynamic Programming Languages MoreVMs Workshop on Modern Language Runtimes, Ecosystems, and VMs (MoreVMs’17) 视频录像
2016
-
Benoit Daloze, Stefan Marr, Daniele Bonetta, Hanspeter Moessenboeck Efficient and Thread-Safe Objects for Dynamically-Typed Languages 选自 Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)。
-
Manuel Rigger, Matthias Grimmer, Christian Wimmer, Thomas Würthinger, Hanspeter Moessenboeck Bringing Low-Level Languages to the JVM: Efficient Execution of LLVM IR on Truffle 选自 Proceedings of the Workshop on Virtual Machines and Intermediate Languages (VMIL)。
-
Manuel Rigger, Matthias Grimmer, Hanspeter Moessenboeck Sulong – Execution of LLVM-Based Languages on the JVM 选自 Proceedings of International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS)。
-
Manuel Rigger Sulong: Memory Safe and Efficient Execution of LLVM-Based Languages 选自 Proceedings of the ECOOP 2016 Doctoral Symposium。
2015
-
Benoit Daloze, Chris Seaton, Daniele Bonetta, Hanspeter Moessenboeck Techniques and Applications for Guest-Language Safepoints 选自 Proceedings of the International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS)。
-
Matthias Grimmer, Chris Seaton, Roland Schatz, Würthinger, Hanspeter Moessenboeck High-Performance Cross-Language Interoperability in a Multi-Language Runtime 选自 Proceedings of the 11th Dynamic Language Symposium (DLS)。
-
Matthias Grimmer, Chris Seaton, Thomas Würthinger, Hanspeter Moessenboeck Dynamically Composing Languages in a Modular Way: Supporting C Extensions for Dynamic Languages. 选自 Proceedings of the 14th International Conference on Modularity。
-
Gülfem Savrun-Yeniçeri, Michael Van De Vanter, Per Larsen, Stefan Brunthaler, and Michael Franz An Efficient and Generic Event-based Profiler Framework for Dynamic Languages 选自 Proceedings of the International Conference on Principles and Practices of Programming on The Java Platform: virtual machines, languages, and tools (PPPJ)。
-
Michael Van De Vanter Building Debuggers and Other Tools: We Can “Have it All” (Position Paper) 选自 Proceedings of the 10th Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems Workshop (ICOOOLPS)。
2014
-
Matthias Grimmer High-performance language interoperability in multi-language runtimes 选自 Proceedings of the companion publication of the 2014 ACM SIGPLAN conference on Systems, Programming, and Applications: Software for Humanity (SPLASH Companion)。
-
Matthias Grimmer, Manuel Rigger, Roland Schatz, Lukas Stadler, Hanspeter Moessenboeck Truffle C: Dynamic Execution of C on the Java Virtual Machine 选自 Proceedings of the International Conference on Principles and Practice of Programming in Java (PPPJ)。
-
Christian Humer, Christian Wimmer, Christian Wirth, Andreas Wöß, Thomas Würthinger A Domain-Specific Language for Building Self-Optimizing AST Interpreters 选自 Proceedings of the International Conference on Generative Programming: Concepts and Experiences (GPCE)。
-
Andreas Wöß, Christian Wirth, Daniele Bonetta, Chris Seaton, Christian Humer, Hanspeter Moessenboeck An Object Storage Model for the Truffle Language Implementation Framework 选自 Proceedings of International Conference on Principles and Practice of Programming in Java (PPPJ)。
-
Matthias Grimmer, Thomas Würthinger, Andreas Wöß, Hanspeter Moessenboeck An Efficient Approach to Access Native Binary Data from JavaScript 选自 Proceedings of the 9th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS)。
-
Chris Seaton, Michael Van De Vanter, and Michael Haupt Debugging at full speed 选自 Proceedings of the 8th Workshop on Dynamic Languages and Applications (DYLA)。
2013
-
Thomas Würthinger, Christian Wimmer, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Christian Humer, Gregor Richards, Doug Simon, Mario Wolczko One VM to Rule Them All 选自 Proceedings of Onward!。描述了 Truffle 方法的愿景,以及包括解释器和动态编译器在内的完整系统堆栈。
-
Matthias Grimmer, Manuel Rigger, Lukas Stadler, Roland Schatz, Hanspeter Moessenboeck An efficient native function interface for Java 选自 Proceedings of the International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools. (PPPJ)。
-
Matthias Grimmer Runtime Environment for the Truffle/C VM 硕士论文,林茨约翰开普勒大学,2013 年 11 月。
2012
- Thomas Würthinger, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Doug Simon, Christian Wimmer Self-Optimizing AST Interpreters 选自 Proceedings of the Dynamic Languages Symposium (DLS)。描述了自优化和自专用解释器的设计,以及在 JavaScript 中的应用。
GraalVM 编译器论文
2023
- David Leopoldseder, Daniele Bonetta, Lukas Stadler, Hanspeter Moessenboeck, Sebastian Kloibhofer, Lukas Makor Control Flow Duplication for Columnar Arrays in a Dynamic Compiler 选自 _Proceedings of the
2023 Journal and Conference_
2022
-
Felix Berlakovich, Matthias Neugschwandtner, Gergö Barany Look Ma, no constants: practical constant blinding in GraalVM 选自 Proceedings of the 15th European Workshop on Systems Security (EuroSec ‘22)
-
Gergo Barany, David Leopoldseder, Hanspeter Moessenboeck, Raphael Mosaner Improving Vectorization Heuristics in a Dynamic Compiler with Learned Models 选自 Proceedings of the Virtual Machines and Language Implementations Workshop Co-located with SPLASH 2022
-
Stefan Marr, Humphrey Burchell, Fabio Niephaus Execution vs. Parse-Based Language Servers: Tradeoffs and Opportunities for Language-Agnostic Tooling for Dynamic Languages 选自 Proceedings of the 18th Dynamic Languages Symposium (DLS) at SPLASH 2022
-
David Leopoldseder, Daniele Bonetta, Lukas Stadler, Hanspeter Moessenboeck, Lukas Makor, Sebastian Kloibhofer Automatic Array Transformation to Columnar Storage at Run Time 选自 Proceedings of the 19th International Conference on Managed Programming Languages and Runtimes (MPLR’22)
-
David Leopoldseder, Lukas Stadler, Hanspeter Moessenboeck, Raphael Mosaner, Wolfgang Kisling Machine-Learning-Based Self-Optimizing Compiler Heuristics 选自 Proceedings of the 19th International Conference on Managed Programming Languages and Runtimes (MPLR’22)
-
Stefan Reschke, Toni Mattis, Fabio Niephaus, Robert Hirschfeld Toward Just-in-time and Language-agnostic Mutation Testing 选自 Proceedings of the MoreVMs’22 workshop at ‹Programming› 2022
2021
-
Rodrigo Bruno, Vojin Jovanovic, Christian Wimmer, Gustavo Alonso Compiler-Assisted Object Inlining with Value Fields 选自 Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI 2021)
-
Raphael Mosaner, David Leopoldseder, Lukas Stadler, Hanspeter Moessenboeck Using Machine Learning to Predict the Code Size Impact of Duplication Heuristics in a Dynamic Compiler 选自 Proceedings of the 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes (MPLR 2021)
-
Jacob Kreindl, Daniele Bonetta, Lukas Stadler, David Leopoldseder, Hanspeter Moessenboeck Low-Overhead Multi-Language Dynamic Taint Analysis through Speculative Optimization and Dynamic Compilation 选自 Proceedings of the 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes (MPLR 2021)
-
Florian Latifi, David Leopoldseder, Christian Wimmer, Hanspeter Moessenboeck CompGen: Generation of Fast Compilers in a Multi-Language VM 选自 Proceedings Dynamic Language Symposium, DLS co-located with SPLASH conference 2021
-
Matt D’Souzam, Gilles Duboscq, Lightweight On-Stack Replacement in Languages with Unstructured Loops 选自 Proceedings of the 13th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (VMIL 2021)
-
Sebastian Kloibhofer Run-time Data Analysis to Drive Compiler Optimizations 选自 Proceedings of SPLASH Companion 2021
-
Lukas Makor Run-time data analysis in dynamic runtimes 选自 Proceedings of SPLASH Companion 2021
-
Hugo Guiroux, Jean-Pierre Lozi, Peterson Yuhala, Jämes Ménétrey, Pascal Felber, Valerio Schiavoni, Alain Tchana, Gaël Thomas Montsalvat: Intel SGX Shielding for GraalVM Native Images 选自 Proceedings of MIDDLEWARE 2021 - 22nd ACM/IFIP International Conference 2021
2020
-
Sebastian Kloibhofer, Thomas Pointhuber, Maximilian Heisinger, Hanspeter Moessenboeck, Lukas Stadler, David Leopoldseder SymJEx: symbolic execution on the GraalVM 选自 Proceedings of the 17th International Conference on Managed Programming Languages and Runtimes (MPLR 2020)
-
Raphael Mosaner Machine Learning to Ease Understanding of Data Driven Compiler Optimizations 选自 Proceedings of SPLASH Companion 2020
-
Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tuma, Martin Studener, Lubomír Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Würthinger, Walter Binder Renaissance: Benchmarking Suite for Parallel Applications on the JVM 选自 Proceedings of Software Engineering 2020
-
Aleksandar Prokopec, François Farquet, Lubomír Bulej, Vojtech Horký, Petr Tuma Duet Benchmarking: Improving Measurement Accuracy in the Cloud 选自 Proceedings of the International Conference on Performance Engineering (ICPE 2020)
-
Aleksandar Prokopec, Trevor Brown, Dan Alistarh Non-blocking interpolation search trees with doubly-logarithmic running time 选自 Proceedings of the 25th Symposium on Principles & Practice of Parallel Programming (PPoPP 2020)
-
Sebastian Kloibhofer, Thomas Pointhuber, Maximilian Heisinger, Hanspeter Moessenboeck, Lukas Stadler, David Leopoldseder SymJEx: Symbolic Execution on the GraalVM 选自 Proceedings of the 17th International Conference on Managed Programming Languages and Runtimes (MPLR 2020)
2019
-
Aleksandar Prokopec, Gilles Duboscq, David Leopoldseder, Thomas Wuerthinger An Optimization-Driven Incremental Inline Substitution Algorithm for Just-In-Time Compilers 选自 Proceedings of the 2019 International Symposium on Code Generation and Optimization (CGO 2019)
-
Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tůma, Martin Studener, Lubomír Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Würthinger, Walter Binder Renaissance: benchmarking suite for parallel applications on the JVM 选自 Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2019)
2018
-
James Clarkson, Juan Fumero, Michalis Papadimitriou, Foivos S. Zakkak, Maria Xekalaki, Christos Kotselidis, Mikel Luján Exploiting High-Performance Heterogeneous Hardware for Java Programs using Graal 选自 Proceedings of the 15th International Conference on Managed Languages & Runtimes (ManLang’18)
-
Juan Fumero, Christos Kotselidis. Using Compiler Snippets to Exploit Parallelism on Heterogeneous Hardware: A Java Reduction Case Study 选自 Proceedings of the 10th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (VMIL’18)
2016
-
Josef Eisl, Matthias Grimmer, Doug Simon, Thomas Würthinger, Hanspeter Moessenboeck Trace-based Register Allocation in a JIT Compiler 选自 Proceedings of the 13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools (PPPJ ‘16)
-
Stefan Marr, Benoit Daloze, Hanspeter Moessenboeck Cross-language compiler benchmarking: are we fast yet? 选自 Proceedings of the 12th Symposium on Dynamic Languages (DLS 2016)
-
Manuel Rigger, Matthias Grimmer, Christian Wimmer, Thomas Würthinger, Hanspeter Moessenboeck Bringing low-level languages to the JVM: efficient execution of LLVM IR on Truffle 选自 Proceedings of the 8th International Workshop on Virtual Machines and Intermediate Languages (VMIL 2016)
-
Manuel Rigger Sulong: Memory Safe and Efficient Execution of LLVM-Based Languages ECOOP 2016 博士生研讨会
-
Manuel Rigger, Matthias Grimmer, Hanspeter Moessenboeck Sulong - Execution of LLVM-Based Languages on the JVM 国际面向对象语言、程序和系统实现、编译、优化研讨会 (ICOOOLPS’16)
-
Luca Salucci, Daniele Bonetta, Walter Binder Efficient Embedding of Dynamic Languages in Big-Data Analytics 国际分布式计算系统研讨会 (ICDCSW 2016)
-
Lukas Stadler, Adam Welc, Christian Humer, Mick Jordan Optimizing R language execution via aggressive speculation 选自 Proceedings of the 12th Symposium on Dynamic Languages (DLS 2016)
-
Daniele Bonetta, Luca Salucci, Stefan Marr, Walter Binder GEMs: shared-memory parallel programming for Node.js 选自 Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2016)
-
Benoit Daloze, Stefan Marr, Daniele Bonetta, Hanspeter Moessenboeck Efficient and thread-safe objects for dynamically-typed languages 选自 Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2016)
-
Luca Salucci, Daniele Bonetta, Walter Binder Lightweight Multi-language Bindings for Apache Spark 欧洲并行处理会议 (Euro-Par 2016)
-
Luca Salucci, Daniele Bonetta, Stefan Marr, Walter Binder Generic messages: capability-based shared memory parallelism for event-loop systems 选自 Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2016)
-
Stefan Marr, Chris Seaton, Stéphane Ducasse Zero-overhead metaprogramming: reflection and metaobject protocols fast and without compromises 选自 Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2016)
2015
-
Josef Eisl Trace register allocation 选自 Companion Proceedings of the 2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH Companion 2015)
-
Matthias Grimmer, Chris Seaton, Roland Schatz, Thomas Würthinger, Hanspeter Moessenboeck High-performance cross-language interoperability in a multi-language runtime 选自 Proceedings of the 11th Symposium on Dynamic Languages (DLS 2015)
-
Matthias Grimmer, Roland Schatz, Chris Seaton, Thomas Würthinger, Hanspeter Moessenboeck Memory-safe Execution of C on a Java VM 选自 Proceedings of the 10th ACM Workshop on Programming Languages and Analysis for Security (PLAS’15)
-
Matthias Grimmer, Chris Seaton, Thomas Würthinger, Hanspeter Moessenboeck Dynamically composing languages in a modular way: supporting C extensions for dynamic languages 选自 Proceedings of the 14th International Conference on Modularity (MODULARITY 2015)
-
Doug Simon, Christian Wimmer, Bernhard Urban, Gilles Duboscq, Lukas Stadler, Thomas Würthinger Snippets: Taking the High Road to a Low Level ACM Transactions on Architecture and Code Optimization (TACO)
-
David Leopoldseder, Lukas Stadler, Christian Wimmer, Hanspeter Moessenboeck Java-to-JavaScript translation via structured control flow reconstruction of compiler IR 选自 Proceedings of the 11th Symposium on Dynamic Languages (DLS 2015)
-
Codruţ Stancu, Christian Wimmer, Stefan Brunthaler, Per Larsen, Michael Franz Safe and efficient hybrid memory management for Java 选自 Proceedings of the 2015 International Symposium on Memory Management (ISMM ‘15)
-
Gülfem Savrun-Yeniçeri, Michael L. Van de Vanter, Per Larsen, Stefan Brunthaler, Michael Franz An Efficient and Generic Event-based Profiler Framework for Dynamic Languages 选自 Proceedings of the Principles and Practices of Programming on The Java Platform (PPPJ ‘15)
-
Michael L. Van De Vanter Building debuggers and other tools: we can “have it all” 选自 Proceedings of the 10th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS ‘15)
-
Benoit Daloze, Chris Seaton, Daniele Bonetta, Hanspeter Moessenboeck Techniques and applications for guest-language safepoints 选自 Proceedings of the 10th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS ‘15)
-
Juan Fumero, Toomas Remmelg, Michel Steuwer and Christophe Dubach. Runtime Code Generation and Data Management for Heterogeneous Computing in Java 选自 Proceedings of the Principles and Practices of Programming on The Java Platform (PPPJ ‘15)
2014
-
Wei Zhang, Per Larsen, Stefan Brunthaler, Michael Franz Accelerating iterators in optimizing AST interpreters 选自 Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications (OOPSLA ‘14)
-
Matthias Grimmer High-performance language interoperability in multi-language runtimes 选自 Proceedings of the companion publication of the 2014 ACM SIGPLAN conference on Systems, Programming, and Applications: Software for Humanity (SPLASH ‘14)
-
Matthias Grimmer, Manuel Rigger, Roland Schatz, Lukas Stadler, Hanspeter Moessenboeck TruffleC: dynamic execution of C on a Java virtual machine 选自 Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools (PPPJ ‘14)
-
Matthias Grimmer, Thomas Würthinger, Andreas Wöß, Hanspeter Moessenboeck An efficient approach for accessing C data structures from JavaScript 选自 Proceedings of the 9th International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems PLE (ICOOOLPS ‘14)
-
Christian Humer, Christian Wimmer, Christian Wirth, Andreas Wöß, Thomas Würthinger A domain-specific language for building self-optimizing AST interpreters 选自 Proceedings of the 2014 International Conference on Generative Programming: Concepts and Experiences (GPCE 2014)
-
Gilles Duboscq, Thomas Würthinger, Hanspeter Moessenboeck Speculation without regret: reducing deoptimization meta-data in the GraalVM compiler 选自 Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools (PPPJ ‘14)
-
Thomas Würthinger Graal and truffle: modularity and separation of concerns as cornerstones for building a multipurpose runtime 选自 Proceedings of the companion publication of the 13th international conference on Modularity (MODULARITY ‘14)
-
Lukas Stadler, Thomas Würthinger, Hanspeter Moessenboeck Partial Escape Analysis and Scalar Replacement for Java 选自 Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO ‘14)
-
Christian Häubl, Christian Wimmer, Hanspeter Moessenboeck Trace transitioning and exception handling in a trace-based JIT compiler for java ACM Transactions on Architecture and Code Optimization (TACO)
-
Chris Seaton, Michael L. Van De Vanter, Michael Haupt Debugging at Full Speed 选自 Proceedings of the Workshop on Dynamic Languages and Applications (Dyla’14)
-
Andreas Wöß, Christian Wirth, Daniele Bonetta, Chris Seaton, Christian Humer, Hanspeter Moessenboeck An object storage model for the truffle language implementation framework 选自 Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools (PPPJ ‘14)
-
Codruţ Stancu, Christian Wimmer, Stefan Brunthaler, Per Larsen, Michael Franz Comparing points-to static analysis with runtime recorded profiling data 选自 Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools (PPPJ ‘14)
-
Juan Jose Fumero, Michel Steuwer and Christophe Dubach. A Composable Array Function Interface for Heterogeneous Computing in Java 选自 Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming (ARRAY’14)
2013
-
Matthias Grimmer, Manuel Rigger, Lukas Stadler, Roland Schatz, Hanspeter Moessenboeck An efficient native function interface for Java 选自 Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools (PPPJ ‘13)
-
Thomas Würthinger, Christian Wimmer, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Christian Humer, Gregor Richards, Doug Simon, Mario Wolczko One VM to rule them all 选自 Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software (Onward! 2013)
-
Gilles Duboscq, Thomas Würthinger, Lukas Stadler, Christian Wimmer, Doug Simon, Hanspeter Moessenboeck An intermediate representation for speculative optimizations in a dynamic compiler 选自 Proceedings of the 7th ACM workshop on Virtual machines and intermediate languages (VMIL ‘13)
-
Lukas Stadler, Gilles Duboscq, Hanspeter Moessenboeck, Thomas Würthinger, Doug Simon An experimental study of the influence of dynamic compiler optimizations on Scala performance 选自 Proceedings of the 4th Workshop on Scala (SCALA ‘13)
-
Gilles Duboscq, Lukas Stadler, Thomas Würthinger, Doug Simon, Christian Wimmer, Hanspeter Moessenboeck Graal IR: An Extensible Declarative Intermediate Representation 选自 Proceedings of the Asia-Pacific Programming Languages and Compilers Workshop, 2013
-
Christian Häubl, Christian Wimmer, Hanspeter Moessenboeck Context-sensitive trace inlining for Java 27th ACM 应用计算研讨会编程语言专题特刊,计算机语言、系统与结构
-
Christian Wimmer, Stefan Brunthaler ZipPy on truffle: a fast and simple implementation of python 选自 Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity (SPLASH ‘13)
-
Christian Häubl, Christian Wimmer, Hanspeter Moessenboeck Deriving code coverage information from profiling data recorded for a trace-based just-in-time compiler 选自 Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools (PPPJ ‘13)
2012
-
Lukas Stadler, Gilles Duboscq, Hanspeter Moessenboeck, Thomas Würthinger Compilation Queuing and Graph Caching for Dynamic Compilers 选自 Proceedings of the Workshop on Virtual Machines and Intermediate Languages (VMIL) 2012
-
Thomas Würthinger, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Doug Simon, Christian Wimmer Self-optimizing AST interpreters 选自 Proceedings of the 8th symposium on Dynamic languages (DLS ‘12)
-
Christian Wimmer, Thomas Würthinger Truffle: a self-optimizing runtime system 选自 Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity (SPLASH ‘12)
-
Christian Häubl, Christian Wimmer, Hanspeter Moessenboeck Evaluation of trace inlining heuristics for Java 选自 Proceedings of the 27th Annual ACM Symposium on Applied Computing (SAC ‘12)