Proceedings of the 14th International Conference on Managed Languages and Runtimes 2017
DOI: 10.1145/3132190.3132202
|View full text |Cite
|
Sign up to set email alerts
|

Applying Optimizations for Dynamically-typed Languages to Java

Abstract: While Java is a statically-typed language, some of its features make it behave like a dynamically-typed language at run time. This includes Java's boxing of primitive values as well as generics, which rely on type erasure. This paper investigates how runtime technology for dynamically-typed languages such as JavaScript and Python can be used for Java bytecode. Using optimistic optimizations, we specialize bytecode instructions that access references in such a way, that they can handle primitive data directly a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2018
2018
2021
2021

Publication Types

Select...
3
1

Relationship

2
2

Authors

Journals

citations
Cited by 4 publications
(1 citation statement)
references
References 36 publications
0
1
0
Order By: Relevance
“…Specifically, our evaluation with a set of wellknown benchmarks shows significant reductions by up to 9x in program warm-up given that OSR is applicable. Note that our approach can be used by other Truffle bytecodebased implementations lacking high-level loop information, including GraalSqueak [19], Truffle Java [11] and Truffle CIL. Furthermore, it is applicable in any compiler with a background system which provides means for establishing mappings between extracted control flow.…”
Section: Introductionmentioning
confidence: 99%
“…Specifically, our evaluation with a set of wellknown benchmarks shows significant reductions by up to 9x in program warm-up given that OSR is applicable. Note that our approach can be used by other Truffle bytecodebased implementations lacking high-level loop information, including GraalSqueak [19], Truffle Java [11] and Truffle CIL. Furthermore, it is applicable in any compiler with a background system which provides means for establishing mappings between extracted control flow.…”
Section: Introductionmentioning
confidence: 99%