{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:33:25Z","timestamp":1750221205931,"version":"3.41.0"},"publisher-location":"New York, New York, USA","reference-count":32,"publisher":"ACM Press","license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Oracle Labs"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1145\/3237009.3237010","type":"proceedings-article","created":{"date-parts":[[2018,8,30]],"date-time":"2018-08-30T14:00:37Z","timestamp":1535637637000},"page":"1-7","source":"Crossref","is-referenced-by-count":0,"title":["Parallel trace register allocation"],"prefix":"10.1145","author":[{"given":"Josef","family":"Eisl","sequence":"first","affiliation":[{"name":"Johannes Kepler University Linz, Austria"}]},{"given":"David","family":"Leopoldseder","sequence":"additional","affiliation":[{"name":"Johannes Kepler University Linz, Austria"}]},{"given":"Hanspeter","family":"M\u00f6ssenb\u00f6ck","sequence":"additional","affiliation":[{"name":"Johannes Kepler University Linz, Austria"}]}],"member":"320","reference":[{"key":"key-10.1145\/3237009.3237010-1","doi-asserted-by":"crossref","unstructured":"Bala, Vasanth, Evelyn Duesterwald, and Sanjeev Banerjia (2000). Dynamo: A Transparent Dynamic Optimization System. In: PLDI '00. ACM.","DOI":"10.1145\/349299.349303"},{"key":"key-10.1145\/3237009.3237010-2","doi-asserted-by":"crossref","unstructured":"Barrett, Edd, Carl Friedrich Bolz-Tereick, Rebecca Killick, Sarah Mount, and Laurence Tratt (2017). Virtual Machine Warmup Blows Hot and Cold. In: Proc. ACM Program. Lang.","DOI":"10.1145\/3133876"},{"key":"key-10.1145\/3237009.3237010-3","doi-asserted-by":"crossref","unstructured":"Blackburn, S. M. et al. (2006). The DaCapo Benchmarks: Java Benchmarking Development and Analysis. In: OOPSLA'06. ACM Press.","DOI":"10.1145\/1167473.1167488"},{"key":"key-10.1145\/3237009.3237010-4","doi-asserted-by":"crossref","unstructured":"Callahan, David and Brian Koblenz (1991). Register Allocation via Hierarchical Graph Coloring. In: SIGPLAN Not.","DOI":"10.1145\/113445.113462"},{"key":"key-10.1145\/3237009.3237010-5","unstructured":"Chaitin, Gregory J, Marc A Auslander, Ashok K Chandra, John Cocke, Martin E Hopkins, and Peter W Markstein (1981). Register Allocation via Coloring. In: Computer languages."},{"key":"key-10.1145\/3237009.3237010-6","doi-asserted-by":"crossref","unstructured":"Cytron, Ron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, and F. Kenneth Zadeck (1991). Efficiently Computing Static Single Assignment Form and the Control Dependence Graph. In: TOPLAS'91.","DOI":"10.1145\/115372.115320"},{"key":"key-10.1145\/3237009.3237010-7","doi-asserted-by":"crossref","unstructured":"Duboscq, Gilles, Thomas W&#252;rthinger, Lukas Stadler, Christian Wimmer, Doug Simon, and Hanspeter M&#246;ssenb&#246;ck (2013). An Intermediate Representation for Speculative Optimizations in a Dynamic Compiler. In: VMIL'13.","DOI":"10.1145\/2542142.2542143"},{"key":"key-10.1145\/3237009.3237010-8","doi-asserted-by":"crossref","unstructured":"Eisl, Josef (2015). Trace Register Allocation. In: SPLASH Companion 2015. ACM.","DOI":"10.1145\/2814189.2814199"},{"key":"key-10.1145\/3237009.3237010-9","doi-asserted-by":"crossref","unstructured":"Eisl, Josef, Matthias Grimmer, Doug Simon, Thomas W&#252;rthinger, and Hanspeter M&#246;ssenb&#246;ck (2016). Trace-based Register Allocation in a JIT Compiler. In: PPPJ '16. ACM.","DOI":"10.1145\/2972206.2972211"},{"key":"key-10.1145\/3237009.3237010-10","doi-asserted-by":"crossref","unstructured":"Eisl, Josef, Stefan Marr, Thomas W&#252;rthinger, and Hanspeter M&#246;ssenb&#246;ck (2017). Trace Register Allocation Policies: Compile-time vs. Performance Trade-offs. In: ManLang 2017. ACM.","DOI":"10.1145\/3132190.3132209"},{"key":"key-10.1145\/3237009.3237010-11","unstructured":"Fleming, Philip J. and John J. Wallace (1986). How Not To Lie With Statistics: The Correct Way To Summarize Benchmark Results. In: Communications of the ACM."},{"key":"key-10.1145\/3237009.3237010-12","unstructured":"Gantt, Henry Laurence (1913). Work, Wages, and Profits. Second Edition. The Engineering Magazine Co."},{"key":"key-10.1145\/3237009.3237010-13","doi-asserted-by":"crossref","unstructured":"Hank, R.E., W.W. Hwu, and B.R. Rau (1995). Region-based compilation: an introduction and motivation. In: Proceedings of the 28th Annual International Symposium on Microarchitecture.","DOI":"10.1109\/MICRO.1995.476823"},{"key":"key-10.1145\/3237009.3237010-14","doi-asserted-by":"crossref","unstructured":"H&#228;ubl, Christian, Christian Wimmer, and Hanspeter M&#246;ssenb&#246;ck (2013). Context-sensitive trace inlining for Java. In: Computer Languages, Systems &#38; Structures.","DOI":"10.1016\/j.cl.2013.04.002"},{"key":"key-10.1145\/3237009.3237010-15","unstructured":"Hennessy, John L. and David A. Patterson (2003). Computer Architecture: A Quantitative Approach. 3rd ed. Morgan Kaufmann Publishers Inc. isbn: 1558607242."},{"key":"key-10.1145\/3237009.3237010-16","doi-asserted-by":"crossref","unstructured":"H&#246;lzle, Urs, Craig Chambers, and David Ungar (1992). Debugging Optimized Code with Dynamic Deoptimization. In: SIGPLAN Not.","DOI":"10.1145\/143095.143114"},{"key":"key-10.1145\/3237009.3237010-17","unstructured":"Kotzmann, Thomas, Christian Wimmer, Hanspeter M&#246;ssenb&#246;ck, Thomas Rodriguez, Kenneth Russell, and David Cox (2008). Design of the Java HotSpot&#8482; client compiler for Java 6. In: TACO'08."},{"key":"key-10.1145\/3237009.3237010-18","doi-asserted-by":"crossref","unstructured":"Krintz, Chandra J., David Grove, Vivek Sarkar, and Brad Calder (2001). Reducing the overhead of dynamic compilation. In: Software: Practice and Experience.","DOI":"10.1002\/spe.384"},{"key":"key-10.1145\/3237009.3237010-19","unstructured":"Leopoldseder, David, Lukas Stadler, Thomas W&#252;rthinger, Josef Eisl, Doug Simon, and Hanspeter M&#246;ssenb&#246;ck (2018). Dominance-based Duplication Simulation (DBDS) - Code Duplication to Enable Compiler Optimizations. In: CGO'18. ACM."},{"key":"key-10.1145\/3237009.3237010-20","doi-asserted-by":"crossref","unstructured":"Lueh, Guei-Yuan, Thomas Gross, and Ali-Reza Adl-Tabatabai (1997). \"Global register allocation based on graph fusion\". In: Lecture Notes in Computer Science. Springer Berlin Heidelberg.","DOI":"10.1007\/BFb0017257"},{"key":"key-10.1145\/3237009.3237010-21","unstructured":"McIlroy, Ross (2018). V8 JavaScript Engine: Background compilation. url: https:\/\/v8project.blogspot.co.at\/2018\/03\/background-compilation.html (visited on 03\/28\/2018)."},{"key":"key-10.1145\/3237009.3237010-22","unstructured":"Oracle Corporation (2015). JRockit to HotSpot Migration Guide: Compilation Optimization. url: https:\/\/docs.oracle.com\/javacomponents\/jrockit-hotspot\/migration-guide\/comp-opt.htm (visited on 03\/28\/2018)."},{"key":"key-10.1145\/3237009.3237010-23","doi-asserted-by":"crossref","unstructured":"Pinedo, Michael L. (2016). Scheduling: Theory, Algorithms, and Systems. 5th ed. Springer International Publishing.","DOI":"10.1007\/978-3-319-26580-3"},{"key":"key-10.1145\/3237009.3237010-24","doi-asserted-by":"crossref","unstructured":"Poletto, Massimiliano and Vivek Sarkar (1999). Linear Scan Register Allocation. In: TOPLAS'99.","DOI":"10.1145\/330249.330250"},{"key":"key-10.1145\/3237009.3237010-25","doi-asserted-by":"crossref","unstructured":"Prokopec, Aleksandar, David Leopoldseder, Gilles Duboscq, and Thomas W&#252;rthinger (2017). Making Collection Operations Optimal with Aggressive JIT Compilation. In: SCALA 2017. ACM.","DOI":"10.1145\/3136000.3136002"},{"key":"key-10.1145\/3237009.3237010-26","doi-asserted-by":"crossref","unstructured":"Sewe, Andreas, Mira Mezini, Aibek Sarimbekov, and Walter Binder (2011). Da capo con scala. In: OOPSLA'11.","DOI":"10.1145\/2048066.2048118"},{"key":"key-10.1145\/3237009.3237010-27","unstructured":"Simon, Doug, Christian Wimmer, Bernhard Urban, Gilles Duboscq, Lukas Stadler, and Thomas W&#252;rthinger (2015). Snippets: Taking the High Road to a Low Level. In: TACO'15."},{"key":"key-10.1145\/3237009.3237010-28","doi-asserted-by":"crossref","unstructured":"Stadler, Lukas, Gilles Duboscq, Hanspeter M&#246;ssenb&#246;ck, Thomas W&#252;rthinger, and Doug Simon (2013). An Experimental Study of the Influence of Dynamic Compiler Optimizations on Scala Performance. In: SCALA'13. ACM.","DOI":"10.1145\/2489837.2489846"},{"key":"key-10.1145\/3237009.3237010-29","doi-asserted-by":"crossref","unstructured":"Stadler, Lukas, Thomas W&#252;rthinger, and Hanspeter M&#246;ssenb&#246;ck (2014). Partial Escape Analysis and Scalar Replacement for Java. In: CGO '14. ACM.","DOI":"10.1145\/2581122.2544157"},{"key":"key-10.1145\/3237009.3237010-30","doi-asserted-by":"crossref","unstructured":"Traub, Omri, Glenn Holloway, and Michael D. Smith (1998). Quality and Speed in Linear-scan Register Allocation. In: PLDI '98. ACM.","DOI":"10.1145\/277650.277714"},{"key":"key-10.1145\/3237009.3237010-31","doi-asserted-by":"crossref","unstructured":"Wimmer, Christian and Michael Franz (2010). Linear Scan Register Allocation on SSA Form. In: CGO'10. ACM.","DOI":"10.1145\/1772954.1772979"},{"key":"key-10.1145\/3237009.3237010-32","doi-asserted-by":"crossref","unstructured":"Wimmer, Christian and Hanspeter M&#246;ssenb&#246;ck (2005). Optimized Interval Splitting in a Linear Scan Register Allocator. In: VEE'05. ACM.","DOI":"10.1145\/1064979.1064998"}],"event":{"name":"the 15th International Conference","start":{"date-parts":[[2018,9,12]]},"number":"15","location":"Linz, Austria","end":{"date-parts":[[2018,9,13]]},"acronym":"ManLang '18"},"container-title":["Proceedings of the 15th International Conference on Managed Languages &amp; Runtimes  - ManLang '18"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3237009.3237010","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/dl.acm.org\/ft_gateway.cfm?id=3237010&ftid=1999833&dwn=1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T01:39:34Z","timestamp":1750210774000},"score":1,"resource":{"primary":{"URL":"http:\/\/dl.acm.org\/citation.cfm?doid=3237009.3237010"}},"subtitle":[],"proceedings-subject":"Managed Languages & Runtimes","short-title":[],"issued":{"date-parts":[[2018]]},"references-count":32,"URL":"https:\/\/doi.org\/10.1145\/3237009.3237010","relation":{},"subject":[],"published":{"date-parts":[[2018]]}}}