Changes between Version 9 and Version 10 of compiler/newdesign


Ignore:
Timestamp:
Mar 17, 2010, 2:26:47 PM (9 years ago)
Author:
eamiri
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • compiler/newdesign

    v9 v10  
    2727
    2828== Code Inlining ==
    29 PyPy supports code inlining, but after a first look at the source look, it seems that we cannot use their code. Inlining in PyPy is considered a backend optimization. After they construct a flow graph and annotating it with information about variable types, they pass it to the code inliner. If we want to use inlining we may need to accept other data structures and passes of their translation process.
     29Implementation note: PyPy supports code inlining, but after a first look at the source look, it seems that we cannot use their code. Inlining in PyPy is considered a backend optimization. After they construct a flow graph and annotating it with information about variable types, they pass it to the code inliner. If we want to use inlining we may need to accept other data structures and passes of their translation process.
     30
     31== Unique Prefix for Names ==
     32Sometimes compiler needs to generate prefixes for names to make sure the name is unique. Prefixes of some names may need to be consistent with each other. (For example when modify variable names in a function to inline the function, we want a unique prefix for all variables). We need a component that generates a unique name for a given name. This unique name might be based on some extra input (like function name in inlining example).