[Pl-seminar] 12/08: Maxime Chevalier-Boisvert, Lazy, Incremental JIT Compilation with Basic Block Versioning

Vincent St-Amour stamourv at ccs.neu.edu
Fri Dec 5 16:52:48 EST 2014


Reminder: Maxime is speaking on Monday.


At Tue, 25 Nov 2014 16:39:20 -0500,
Vincent St-Amour wrote:
> 
> NUPRL Seminar presents
> 
> Maxime Chevalier-Boisvert
> Université de Montréal
> 
> 2:30 - 4:00 (non-standard time)
> Monday, 12/08 (non-standard day)
> Room 366 WVH (http://www.ccs.neu.edu/home/wand/directions.html)
> 
> 
> Lazy, Incremental JIT Compilation with Basic Block Versioning
> 
> Abstract:
> Dynamically typed programming languages such as JavaScript, Python,
> MATLAB and R are notoriously difficult to analyze and optimize. The need
> for high performance implementations has led to the design of
> increasingly complex JIT compilers. Mozilla's SpiderMonkey JavaScript
> VM, for instance, employs type feedback, hybrid interprocedural type
> analysis and on-stack replacement in a three-tiered architecture.
> 
> We introduce a novel JIT compiler architecture in which compilation is
> performed lazily and incrementally, one basic block at a time. Our
> design employs basic block versioning, an optimization technique which
> type-specializes machine code as it is generated. This technique has
> been implemented and tested in Higgs, an experimental JIT compiler for
> JavaScript. We show that a majority of dynamic type tests can be
> eliminated and execution times improved without using on-stack
> replacement and without requiring a separate analysis pass.
> 
> This talk also introduces research currently in progress: a technique
> which we refer to as "typed shapes", which enables basic block
> versioning to efficiently specialize code based on object types and
> shapes. We conclude with future work and the many interesting
> possibilities offered by a compiler architecture based on basic block
> versioning, such as the idea of performing function inlining
> incrementally.
> 
> _______________________________________________
> pl-seminar mailing list
> pl-seminar at lists.ccs.neu.edu
> https://lists.ccs.neu.edu/bin/listinfo/pl-seminar



More information about the pl-seminar mailing list