Abstract | ||
---|---|---|
We introduce a just-in-time specializer for Prolog. Just-in-time specialization attempts to unify of the concepts and benefits of partial evaluation (PE) and just-in-time (JIT) compilation. It is a variant of PE that occurs purely at runtime, which lazily generates residual code and is constantly driven by runtime feedback. Our prototype is an on-line just-in-time partial evaluator. A major focus of our work is to remove the overhead incurred when executing an interpreter written in Prolog. It improves over classical offline PE by requiring almost no heuristics nor hints from the author of the interpreter; it also avoids most termination issues due to interleaving execution and specialization. We evaluate the performance of our prototype on a small number of benchmarks. |
Year | DOI | Venue |
---|---|---|
2009 | 10.1007/978-3-642-12592-8_12 | LOPSTR |
Keywords | Field | DocType |
major focus,runtime feedback,interleaving execution,just-in-time specialization attempt,just-in-time specializer,classical offline pe,towards just-in-time partial evaluation,small number,residual code,partial evaluation,on-line just-in-time partial evaluator | Logic program,Residual,Programming language,Computer science,Partial evaluation,Algorithm,Prolog,Heuristics,Interpreter,Logic programming,Interleaving | Conference |
Volume | ISSN | ISBN |
6037 | 0302-9743 | 3-642-12591-3 |
Citations | PageRank | References |
3 | 0.41 | 22 |
Authors | ||
3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Carl Friedrich Bolz | 1 | 292 | 18.69 |
Michael Leuschel | 2 | 2156 | 135.89 |
Armin Rigo | 3 | 301 | 18.27 |