Affiliation:
1. Oracle Labs, Oracle Parkway, Redwood Shores, CA
2. Institute for System Software, Johannes Kepler University Linz, Austria
Abstract
When building a compiler for a high-level language, certain intrinsic features of the language must be expressed in terms of the resulting low-level operations. Complex features are often expressed by explicitly weaving together bits of low-level IR, a process that is tedious, error prone, difficult to read, difficult to reason about, and machine dependent. In the Graal compiler for Java, we take a different approach: we use
snippets
of Java code to express semantics in a high-level, architecture-independent way. Two important restrictions make snippets feasible in practice: they are compiler specific, and they are explicitly prepared and specialized. Snippets make Graal simpler and more portable while still capable of generating machine code that can compete with other compilers of the Java HotSpot VM.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Reference26 articles.
1. The Jalapeño virtual machine
2. Implementing jalapeño in Java
3. RPython
4. Apache Software Foundation. 2011. Dynamic Runtime Layer Virtual Machine. Retrieved from http://harmony.apache.org/subcomponents/drlvm/. Apache Software Foundation. 2011. Dynamic Runtime Layer Virtual Machine. Retrieved from http://harmony.apache.org/subcomponents/drlvm/.
5. The DaCapo benchmarks
Cited by
18 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Exploiting Partially Context-sensitive Profiles to Improve Performance of Hot Code;ACM Transactions on Programming Languages and Systems;2023-12
2. Optimization-Aware Compiler-Level Event Profiling;ACM Transactions on Programming Languages and Systems;2023-06-26
3. Amaru;Proceedings of the Genetic and Evolutionary Computation Conference Companion;2022-07-09
4. Enabling pipeline parallelism in heterogeneous managed runtime environments via batch processing;Proceedings of the 18th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments;2022-02-25
5. Automatically exploiting the memory hierarchy of GPUs through just-in-time compilation;Proceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments;2021-04-07