1. 01 Sep, 2016 2 commits
    • Kevin Modzelewski's avatar
      Merge pull request #1349 from kmod/scoping · 2783ab4e
      Kevin Modzelewski authored
      Create all FunctionMetadatas for a module at once
      2783ab4e
    • Kevin Modzelewski's avatar
      Create all FunctionMetadatas for a module at once · 7eacfcdd
      Kevin Modzelewski authored
      There are a bunch of interrelated changes in here that I couldn't really
      separate out.  Mostly the relate to saving data on the AST nodes: we store
      DerefInfo and closure info on the Name nodes, and store FunctionMetadata objects
      on AST nodes that create scopes.  And those FunctionMetadata objects now also
      store "ScopingResults", which is only the results from the ScopeInfo objects,
      not all the extra info those keep around in order to do deferred analysis.
      
      Once all this extra data is precomputed+stored, we can start freeing
      the ScopingAnalysis objects and all the related ScopeInfos.
      
      Future work:
      - Name node shouldn't store scoing info; this should be embedded in choice of BST nodes
      - Do pyc caching post-CFG
      - Memory management.
      - Continue to clean this all up.  I layered this change on top of the existing
        scoping and cfg systems, which reduced the amount of changes, but means that
        there is a potentially-unnecessary layer in the middle now.
      7eacfcdd
  2. 31 Aug, 2016 4 commits
  3. 30 Aug, 2016 5 commits
  4. 29 Aug, 2016 1 commit
  5. 26 Aug, 2016 2 commits
  6. 25 Aug, 2016 2 commits
    • Kevin Modzelewski's avatar
    • Kevin Modzelewski's avatar
      Undo all the places we changed installed paths · 180c5bf0
      Kevin Modzelewski authored
      We used to have a installed directory structure that mirrors
      our source structure.  This required changing quite a few pieces of CPython
      code to look in the new places (virtualenv, distutils, getpath.c, sysconfig).
      So, undo all those changes, and change our CMake configuration to install into
      the paths that CPython expects.
      
      Note: "the paths that CPython expects" is platform-dependent.  The paths I added
      here are based on the "posix" style that it supports.  The CPython code has platform-specific
      code to look in different places, and I guess the build system must have platform-specific
      knowledge of where to put it as well, but our CMake system will always put it in the linux variant.
      180c5bf0
  7. 23 Aug, 2016 12 commits
  8. 22 Aug, 2016 8 commits
  9. 21 Aug, 2016 4 commits