Allocation removal by partial evaluation in a tracing JIT

@inproceedings{BolzTereick2011AllocationRB,
  title={Allocation removal by partial evaluation in a tracing JIT},
  author={Carl Friedrich Bolz-Tereick and Antonio Cuni and M. Fijalkowski and M. Leuschel and S. Pedroni and A. Rigo},
  booktitle={PEPM '11},
  year={2011}
}
The performance of many dynamic language implementations suffers from high allocation rates and runtime type checks. This makes dynamic languages less applicable to purely algorithmic problems, despite their growing popularity. In this paper we present a simple compiler optimization based on online partial evaluation to remove object allocations and runtime type checks in the context of a tracing JIT. We evaluate the optimization using a Python VM and find that it gives good results for all our… Expand
49 Citations
Simple and Effective Type Check Removal through Lazy Basic Block Versioning
  • 22
  • PDF
The impact of meta-tracing on VM design and implementation
  • 47
  • PDF
The efficient handling of guards in the design of RPython's tracing JIT
  • 15
  • PDF
Cross-layer workload characterization of meta-tracing JIT VMs
  • 3
  • PDF
...
1
2
3
4
5
...

References

SHOWING 1-2 OF 2 REFERENCES
Trace-based just-in-time type specialization for dynamic languages
  • 339
  • Highly Influential
  • PDF
Constructor specialization
  • 34
  • Highly Influential
  • PDF