2013
DOI: 10.1016/j.cl.2013.04.002
|View full text |Cite
|
Sign up to set email alerts
|

Context-sensitive trace inlining for Java

Abstract: Method inlining is one of the most important optimizations in method-based just-in-time (JIT) compilers. It widens the compilation scope and therefore allows optimizing multiple methods as a whole, which increases the performance. However, if method inlining is used too frequently, the compilation time increases and too much machine code is generated. This has negative effects on the performance.Trace-based JIT compilers only compile frequently executed paths, so-called traces, instead of whole methods. This m… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
6
0

Year Published

2014
2014
2021
2021

Publication Types

Select...
3
2

Relationship

2
3

Authors

Journals

citations
Cited by 7 publications
(6 citation statements)
references
References 19 publications
(7 reference statements)
0
6
0
Order By: Relevance
“…Our new trace-based compiler also incorporates a more advanced trace inlining technique that we described in a recently accepted article [Häubl et al 2013]. The work in that article significantly increased peak performance but focused on trace inlining heuristics and covered neither trace transitioning nor exception handling.…”
Section: Further Optimizationsmentioning
confidence: 97%
See 3 more Smart Citations
“…Our new trace-based compiler also incorporates a more advanced trace inlining technique that we described in a recently accepted article [Häubl et al 2013]. The work in that article significantly increased peak performance but focused on trace inlining heuristics and covered neither trace transitioning nor exception handling.…”
Section: Further Optimizationsmentioning
confidence: 97%
“…Trace inlining is our most profitable optimization. It is more powerful than method inlining because traces contain context-sensitive information, which helps us to avoid inlining unnecessary method parts [Häubl et al 2012[Häubl et al , 2013. This is shown in Figure 4, where two different callers invoke the same method.…”
Section: Compilationmentioning
confidence: 98%
See 2 more Smart Citations
“…Future work could verify this by studying both techniques on top of the same optimization infrastructure. For instance a tracing JIT compiler on top of HotSpot [18] could be used to verify whether the observed engineering benefits are a consequence of tracing. On the other hand, if the partial evaluated language would be more geared towards it than Java, it might also reduce the selfoptimizations that are necessary to reach peak performance.…”
Section: Discussionmentioning
confidence: 99%