Skip to content
Chris Toshok edited this page Feb 10, 2014 · 4 revisions

There is a rather large body of academic research which is directly applicable to the EJS compiler and runtime.

I'll continue adding things as I get more time.

Control Flow Analysis

  • "CFA2: A Context-Free Approach to Control-Flow Analysis" Dimitrios Vardoulakis and Olin Shivers. pdf
  • "Improving Flow Analyses via ΓCFA" Matthew Might and Olin Shivers. pdf
  • "Introspective Pushdown Analysis of Higher-Order Programs" Christopher Earl, Ilya Sergey, Matthew Might, David Van Horn. pdf
  • "Pushdown Abstractions of JavaScript" David Van Horn and Matthew Might. pdf
  • "Environment Analysis of Higher-Order Languages" Matthew Might. pdf

Typing

  • "Flow-Sensitive Type Recovery in Linear-Log Time" Michael D. Adams, Andrew W. Keep, Jan Midtgaard, Matthew Might, Arun Chauhan, R. Kent Dybvig. pdf
  • "Typing the Numeric Tower" Vincent St-Amour, Sam Tobin-Hochstadt, Matthew Flatt, and Matthias Felleisen. pdf
  • "The Design and Implementation of Typed Scheme: From Scripts to Programs" Sam Tobin-Hochstadt and Matthias Felleisen. pdf
  • "Logical Types for Untyped Languages" Sam Tobin-Hochstadt and Matthias Felleisen. pdf

Whole Program Optimization

  • "Flow-Directed Lightweight Closure Conversion" Jeffrey Mark Siskind. pdf
  • "Whole-Program Optimization of Object-Oriented Languages" Jeffrey Dean. postscript

Garbage Collection

  • "MC^2: High-Performance Garbage Collection for Memory-Constrained Environments" Narendran Sachindran, J. Eliot B. Moss, and Emery D. Berger. pdf

Self

Self (particularly its third generation implementation due to Urs Hölze) represents an enormous contribution to the field of optimizing dynamic OO languages (particularly at runtime using PICs).

  • "Optimizing Dynamically-Typed Object-Oriented Programming Languages with Polymorphic Inline Caches" Urs Hölzle, Craig Chambers, and David Ungar. postscript
  • "Optimizing Dynamically-Dispatched Calls with Run-Time Type Feedback" Urs Hölzle and David Ungar. postscript

Or just head over to Urs' page at UCSB for the full list. They're all gold.

Clone this wiki locally