Threaded Execution as a Dual to Native Code

被引:0
|
作者
Mason, Dave [1 ]
机构
[1] Toronto Metropolitan Univ, Toronto, ON, Canada
关键词
execution model; threaded execution;
D O I
10.1145/3594671.3594673
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Threaded execution has been used as a higher performance alternative to a byte-code interpreter, by utilizing hardware dispatch to replace software interpreter dispatch. Traditional JIT code is compiled from byte-code to native code for the current machine, with an even higher performance result. Unfortunately, when debugging is required for a method, most JIT-based interpreters discard the JIT code and revert to the byte-code interpreter. Additionally, switching between interpreted code and native code requires clever trampolines to bring the models into alignment. We describe a technique that maintains the threaded code and native code as parallel implementations of the program. This provides seamless transitions between the implementations and supports full debugging, while providing near full native execution performance.
引用
收藏
页码:7 / 11
页数:5
相关论文
共 50 条
  • [21] 2-LEVEL HYBRID INTERPRETER NATIVE CODE EXECUTION FOR COMBINED SPACE-TIME PROGRAM EFFICIENCY
    PITTMAN, T
    SIGPLAN NOTICES, 1987, 22 (07): : 150 - 152
  • [22] SAC - A functional array language for efficient multi-threaded execution
    Grelck, Clemens
    Scholz, Sven-Bodo
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2006, 34 (04) : 383 - 427
  • [23] Execution replay and debugging of distributed multi-threaded parallel programs
    de Kergommeaux, JC
    Ronsse, M
    De Bosschere, K
    COMPUTERS AND ARTIFICIAL INTELLIGENCE, 2000, 19 (06): : 511 - 526
  • [24] SAC—A Functional Array Language for Efficient Multi-threaded Execution
    Clemens Grelck
    Sven-Bodo Scholz
    International Journal of Parallel Programming, 2006, 34 : 383 - 427
  • [25] STORAGE COMPRESSION FOR INDIRECT THREADED CODE MACHINES.
    Garyet, D.C.
    Lotspiech, J.B.
    IBM technical disclosure bulletin, 1984, 26 (09): : 4467 - 4472
  • [26] LIME: A Framework for Debugging Load Imbalance in Multi-threaded Execution
    Oh, Jungju
    Hughes, Christopher J.
    Venkataramani, Guru
    Prvulovic, Milos
    2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 201 - 210
  • [27] Mobility and Remote-Code Execution
    Sanchis, Eric
    MOBILE WIRELESS MIDDLEWARE, OPERATING SYSTEMS, AND APPLICATIONS-WORKSHOPS, 2009, 12 : 85 - 97
  • [28] Unifying Execution of Imperative and Declarative Code
    Milicevic, Aleksandar
    Rayside, Derek
    Yessenov, Kuat
    Jackson, Daniel
    2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 511 - 520
  • [29] Dynamic schemes for speculative execution of code
    Raghavan, P
    Shachnai, H
    Yaniv, M
    PERFORMANCE EVALUATION, 2003, 53 (02) : 125 - 142
  • [30] Virtual Machine for Encrypted Code Execution
    Togan, Mihai
    Feraru, Alin
    Popescu, Adrian
    PROCEEDINGS OF THE 9TH INTERNATIONAL CONFERENCE ON ELECTRONICS, COMPUTERS AND ARTIFICIAL INTELLIGENCE - ECAI 2017, 2017,