Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Towards reducing the need for algorithmic primitives in dynamic language VMs through a tracing JIT
Felgentreff T., Pape T., Wassermann L., Hirschfeld R., Bolz C.  ICOOOLPS 2015 (Proceedings of the 10th Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems, Prague, Czech Republic, Jul 4-10, 2015)Article-No. 7.2015.Type:Proceedings
Date Reviewed: Jul 14 2016

Virtual machine (VM) instructions can be implemented in the VM, below the VM in the host system, or above the VM in the supported language. This paper explores how advances in VM implementation technologies affect location implementation tradeoffs for supported language instructions. Results from a Smalltalk system using Smalltalk-implemented instructions demonstrate the expected performance consequences, and the benefits when performance isn’t of primary importance.

Moving instructions at or below the VM into the supported language opens the scope of, and provides more material for, VM execution analyses. For example, stack frame elimination can be more effective when it also covers VM instructions, something that can’t be done when the instructions are implemented below the supported language.

A new Smalltalk VM explores the tradeoff contours under supported language instruction implementation. Computationally expensive data fiddling operations such as font rendering take at least an order of magnitude performance hit compared to other VMs, but more sedate operations are within a factor of two. On the other hand, and with less certainty than the performance results, the new VM is simpler to implement, is more portable across host architectures, and is a more hospitable environment for feature development.

More speculative and exploratory than definitive, this paper is well written, clearly laying out its assumptions and expectations. It’s easy to read, although keeping track of the instruction implementation location requires attention. Readers should have some familiarity with VM implementation, but knowing Smalltalk isn’t necessary. The paper is well placed within current VM implementation trends and has a justifiable dynamic language bias.

Reviewer:  R. Clayton Review #: CR144584 (1611-0823)
Bookmark and Share
  Reviewer Selected
 
 
Code Generation (D.3.4 ... )
 
 
Interpreters (D.3.4 ... )
 
 
Run-Time Environments (D.3.4 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Code Generation": Date
Attributed linear intermediate representations for retargetable code generators
Ganapathi M., Fischer C. Software--Practice & Experience 14(4): 347-364, 1984. Type: Article
Mar 1 1985
Register Allocation in Optimizing Compilers
Leverett B., University Microfilms Int’l. (UMI), Ann Arbor, MI, 1983. Type: Book (9789780835715300)
Feb 1 1985
Code generation and optimization
Graham S., Cambridge University Press, New York, NY, 1984. Type: Book (9780521268431)
Jul 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy