# HG changeset patch # User Paul Boddie # Date 1372979088 -7200 # Node ID b8d9d6b49bf0682b49abfe2b78cd047cc0a6c3ed # Parent 76bdd4381b66eb6eb225676e2070b97277c80465 Added some ideas. diff -r 76bdd4381b66 -r b8d9d6b49bf0 TO_DO.txt --- a/TO_DO.txt Thu Jul 04 23:46:09 2013 +0200 +++ b/TO_DO.txt Fri Jul 05 01:04:48 2013 +0200 @@ -214,6 +214,13 @@ attribute usage since observations from the inlined function would be merged into the caller. +Distinguish between frame sharing and inlining: where a called function does not rebind +its names, and where the frame of the caller is compatible, the frame of the caller might +be shared with the called function even if a branch and return is still involved. + +Suitable candidates for inlining, frame sharing or enhanced analysis might be lambdas and +functions containing a single statement. + Function Specialisation ======================= @@ -267,9 +274,6 @@ Other ===== -Consider a separate annotation phase where deductions are added to the AST for the -benefit of both the reporting and code generation phases. - Check context_value initialisation (avoiding or handling None effectively). Consider better "macro" support where new expressions need to be generated and processed. @@ -282,3 +286,5 @@ JumpIfTrue(...) # changed to Jump(...) Status-affected blocks could be optimised away for such constant-related results. + +Caching of structure and attribute usage information for incremental compilation.