Support for garbage collection at every instruction in a Java']Java™ compiler

被引:0
|
作者
Stichnoth, JM [1 ]
Lueh, GY [1 ]
Cierniak, M [1 ]
机构
[1] Intel Corp, Santa Clara, CA 95052 USA
关键词
compilers; garbage collection; !text type='Java']Java[!/text;
D O I
10.1145/301631.301652
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A high-performance implementation of a Java Virtual Machine(1) requires a compiler to translate Java bytecodes into native instructions, as well as an advanced garbage collector (e.g., copying or generational). When the Java heap is exhausted and the garbage collector executes, the compiler must report to the garbage collector all live object references contained in physical registers and stack locations. Typical compilers only allow certain instructions (e.g., call instructions and backward branches) to be GC-safe; if GC happens at some other instruction, the compiler may need to advance execution to the next GC-safe point. Until now, no one has ever attempted to make every compiler-generated instruction CC-safe, due to the perception that recording this information would require too much space. This kind of support could improve the GC performance in multithreaded applications. We show how to use simple compression techniques to reduce the size of the GC map to about 20% of the generated code size, a result that is competitive with the best previously published results. In addition, we extend the work of Agesen, Detlefs, and Moss, regarding the so-called "JSR Problem" (the single exception to Java's type safety property), in a way that eliminates the need for extra runtime overhead in the generated code.
引用
收藏
页码:118 / 127
页数:10
相关论文
共 50 条
  • [1] A Java']Java garbage collection workload
    Lee, WH
    [J]. PROCEEDINGS OF THE 7TH JOINT CONFERENCE ON INFORMATION SCIENCES, 2003, : 561 - 566
  • [2] Java']Java garbage collection - a generic solution?
    Meehan, A
    Lunney, T
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2001, 43 (02) : 151 - 155
  • [3] Compiler support for Java']Java parallelization
    Bik, AJC
    Breg, F
    Gannon, DB
    [J]. COMPUTERS IN PHYSICS, 1998, 12 (01): : 45 - 52
  • [4] Garbage collection in an embedded Java']Java virtual machine
    Cha, Chang-Il
    Kim, Hyung-Jun
    Hwang, Kyu-Jeong
    Kim, Sang-Wook
    Lee, Sang-Yun
    Won, Hee-Sun
    [J]. KNOWLEDGE-BASED INTELLIGENT INFORMATION AND ENGINEERING SYSTEMS, PT 1, PROCEEDINGS, 2006, 4251 : 443 - 450
  • [5] Java']Java garbage collection for real time systems
    Petit-Bianco, A
    [J]. DR DOBBS JOURNAL, 1998, 23 (10): : 20 - +
  • [6] Analysis and Optimizations of Java']Java Full Garbage Collection
    Li, Haoyu
    Wu, Mingyu
    Chen, Haibo
    [J]. 9TH ASIA-PACIFIC SYSTEMS WORKSHOP 2018 (APSYS'18), 2018,
  • [7] Garbage collection for large memory Java']Java applications
    Krall, A
    Tomsich, P
    [J]. HIGH-PERFORMANCE COMPUTING AND NETWORKING, PROCEEDINGS, 1999, 1593 : 895 - 905
  • [8] Real-time garbage collection for Java']Java
    Schoeberl, Martin
    [J]. Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing, Proceedings, 2006, : 424 - 432
  • [9] Tuning garbage collection in an embedded Java']Java environment
    Chen, G
    Shetty, R
    Kandemir, M
    Vijaykrishnan, N
    Irwin, MJ
    Wolczko, M
    [J]. EIGHTH INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE, PROCEEDINGS, 2002, : 92 - 103
  • [10] The impact of RealTime garbage collection on realtime Java']Java programming
    Siebert, F
    [J]. SEVENTH IEEE INTERNATIONAL SYMPOSIUM ON OBJECT-ORIENTED REAL-TIME DISTRIBUTED COMPUTING, PROCEEDINGS, 2004, : 33 - 40