Smalltalk-80: bits of history, words of advice
Smalltalk-80: bits of history, words of advice
Efficient method dispatch in PCL
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Optimizing dynamically-dispatched calls with run-time type feedback
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Communications of the ACM
Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
Efficient implementation of the smalltalk-80 system
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Adaptive optimization for self: reconciling high performance with exploratory programming
Adaptive optimization for self: reconciling high performance with exploratory programming
Catenation and specialization for Tcl virtual machine performance
Proceedings of the 2004 workshop on Interpreters, virtual machines and emulators
Virtual-Machine Abstraction and Optimization Techniques
Electronic Notes in Theoretical Computer Science (ENTCS)
Efficient inline caching without dynamic translation
Proceedings of the 2010 ACM Symposium on Applied Computing
Efficient interpretation using quickening
Proceedings of the 6th symposium on Dynamic languages
Interpreter instruction scheduling
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
Riposte: a trace-driven compiler and parallel VM for vector code in R
Proceedings of the 21st international conference on Parallel architectures and compilation techniques
Self-optimizing AST interpreters
Proceedings of the 8th symposium on Dynamic languages
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
Characteristics of dynamic JVM languages
Proceedings of the 7th ACM workshop on Virtual machines and intermediate languages
Deoptimization for dynamic language JITs on typed, stack-based virtual machines
Proceedings of the 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Hi-index | 0.00 |
Inline caches effectively eliminate the overhead implied by dynamic typing. Yet, inline caching is mostly used in code generated by just-in-time compilers. We present efficient implementation techniques for using inline caches without dynamic translation, thus enabling future interpreter implementers to use this important optimization technique-- we report speedups of up to a factor of 1.71--without the additional implementation and maintenance costs incurred by using a just-in-time compiler.