4 Matching Annotations
  1. Nov 2018
    1. Similar to an extended basic block, a trace is only entered atthe top, but may have many exits. In contrast to an extended basicblock, a trace can contain join nodes. Since a trace always onlyfollows one single path through the original program, however, joinnodes are not recognizable as such in a trace and have a singlepredecessor node like regular nodes.

      Interested here.

    2. This paper described how to run dynamic languages efficiently byrecording hot traces and generating type-specialized native code.Our technique focuses on aggressively inlined loops, and for eachloop, it generates a tree of native code traces representing thepaths and value types through the loop observed at run time. Weexplained how to identify loop nesting relationships and generatenested traces in order to avoid excessive code duplication dueto the many paths through a loop nest. We described our typespecialization algorithm. We also described our trace compiler,which translates a trace from an intermediate representation tooptimized native code in two linear passes.

      First paragraph of 9. conclusions