A Method Specialisation and Virtualised Execution Environment for Java']Java

被引:0
|
作者
Cheadle, A. M. [1 ]
Field, A. J. [1 ]
Nystroem-Persson, J. [1 ]
机构
[1] Univ London Imperial Coll Sci Technol & Med, London SW7 2AZ, England
关键词
Language implementation; Memory management; incremental garbage collection; Read barrier; Method virtualization;
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We present a virtualisation and method specialisation framework for Java that facilitates efficient, dynamic modification of the behaviour of object accesses at run time. The technique works by virtualising all method calls and field accesses associated with selected classes so that all corresponding object accesses are via the invocation of a virtual method. Different access behaviours are then supported by allowing arbitrary specialisations of those methods to be defined. The virtualisation overheads are partially recovered by allowing the JVM's optimisation subsystem to perform guarded inlining of specialised methods. We describe an implementation based on the Jikes RVM and show how the framework can be used to implement an 'implicit' read barrier that supports incremental garbage collection. The performance overhead of full virtualisation, and the performance of the implicit read barrier compared with an existing conventional, explicit barrier, are evaluated using SPEC JVM98 and DaCapo benchmarks. The net virtualisation costs are shown to be remarkably low and the implicit barrier is shown to outperform the explicit barrier substantially in most cases. Other potential applications, including object proxying, caching, and relocation, and instrumentation are also discussed.
引用
收藏
页码:51 / 60
页数:10
相关论文
共 50 条
  • [1] Design, and implementation of a Java']Java execution environment
    Chen, FG
    Hou, TW
    1998 INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS, PROCEEDINGS, 1998, : 686 - 692
  • [2] A uniform transactional execution environment for Java']Java
    Ziarek, Lukasz
    Welc, Adam
    Adl-Tabatabai, Ali-Reza
    Menon, Vijay
    Shpeisman, Tatiana
    Jagannathan, Suresh
    ECOOP 2008 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2008, 5142 : 129 - +
  • [3] A distributed execution environment for shared Java']Java objects
    Erdogan, N
    Selcuk, YE
    Sahingoz, O
    INFORMATION AND SOFTWARE TECHNOLOGY, 2004, 46 (07) : 445 - 455
  • [4] JPURE -: A purified Java']Java execution environment for controller networks
    Beuche, D
    Büttner, L
    Mahrenholz, D
    Schröder-Preikschat, W
    Schön, F
    ARCHITECTURE AND DESIGN OF DISTRIBUTED EMBEDDED SYSTEMS, 2001, 61 : 65 - 73
  • [5] The JAKOBI architecture -: a distributed dynamic execution environment in Java']Java
    Peschke, J
    Lüder, A
    2005 3rd IEEE International Conference on Industrial Informatics (INDIN), 2005, : 25 - 31
  • [6] Run-time execution of reconfigurable hardware in a Java']Java environment
    King, LAS
    Quinn, H
    Leeser, M
    Galatopoullos, D
    Manolakos, E
    2001 INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, ICCD 2001, PROCEEDINGS, 2001, : 380 - 385
  • [7] A Java']Java Execution Simulator
    Robbins, Steven
    SIGCSE 2007: PROCEEDINGS OF THE THIRTY-EIGHTH SIGCSE TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2007, : 536 - 540
  • [8] JS']JSBricks: a suite of microbenchmarks for the evaluation of Java']Java as a scientific execution environment
    Barisone, A
    Bellotti, F
    Berta, R
    De Gloria, A
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2001, 18 (02): : 293 - 306
  • [9] Reverse execution of Java']Java bytecode
    Cook, JJ
    COMPUTER JOURNAL, 2002, 45 (06): : 608 - 619
  • [10] Visualizing the execution of Java']Java programs
    De Pauw, W
    Jensen, E
    Mitchell, N
    Sevitsky, G
    Vlissides, J
    Yang, JH
    SOFTWARE VISUALIZATION, 2002, 2269 : 151 - 162