1. 07 Aug, 2014 1 commit
    • Kevin Modzelewski's avatar
      Support receiving **kw for builtin functions · c2877853
      Kevin Modzelewski authored
      Need to special-case some places in the keyword handling
      since they previously assumed that they would first have
      to check if the keyword name matched a positional argument,
      before putting into the output **kw.
      c2877853
  2. 06 Aug, 2014 5 commits
    • Kevin Modzelewski's avatar
      Support CPython's errnomodule.c, our first extension module! · 83685055
      Kevin Modzelewski authored
      errnomodule.c is extremely simple and doesn't do anything complicated,
      so this is more of a proof-of-concept for now.
      The tricky stuff will most likely be around newly-defined types.
      83685055
    • Kevin Modzelewski's avatar
      Make GC collections work when threads are in generators · 28c651ab
      Kevin Modzelewski authored
      The previous code assumed that there was only one stack per
      thread, which could be examined by looking at the current registers.
      Generators complicate that, since we switch to a separate stack.
      We still need to scan the original, main stack, which means that
      we need to add some bookkeeping code that remembers what the main
      stack was, even as we swap to and from generators.
      28c651ab
    • Kevin Modzelewski's avatar
      Fix OSR inside closures and generators · 7e86fc1a
      Kevin Modzelewski authored
      Nothing major was wrong, but was trying to double-pass the
      generator/closure arguments.
      7e86fc1a
    • Kevin Modzelewski's avatar
      Cleanup · 01ae20e9
      Kevin Modzelewski authored
      01ae20e9
    • Kevin Modzelewski's avatar
      Make the GC-header managed by the GC · cd11e1d5
      Kevin Modzelewski authored
      Previously the gc header had to be set and managed by the user of the GC,
      which didn't make much sense.
      
      Also took this opportunity to clean up a bunch of old cruft.
      
      Also got rid of ObjectFlavors and AllocationKinds, in preference for
      a GCKind which I think makes more sense.  Right now there are only three
      different GCKinds, but I'm not sure if the previous AllocationKinds
      should each get their own GCKind.
      cd11e1d5
  3. 05 Aug, 2014 3 commits
  4. 04 Aug, 2014 5 commits
  5. 03 Aug, 2014 1 commit
  6. 31 Jul, 2014 18 commits
  7. 30 Jul, 2014 2 commits
  8. 29 Jul, 2014 5 commits
    • Kevin Modzelewski's avatar
      Support decorators on classes as well · 58eb408a
      Kevin Modzelewski authored
      58eb408a
    • Kevin Modzelewski's avatar
      Implement function decorators · 4d15c2f2
      Kevin Modzelewski authored
      4d15c2f2
    • Kevin Modzelewski's avatar
      Add int->long promotion on overflow · 2d55194c
      Kevin Modzelewski authored
      This commit is a straightforward implementation that doesn't include
      any speculation-like optimizations.  For operations that can overflow,
      just relax the type-return-specification to UNKNOWN, and do the overflow
      checks in the runtime.  This means that we no longer emit fast native
      integer instructions even if we know operands are ints.
      
      Will have to add optimizations:
      - range analysis so that we can know there won't be overflow
      - deopt-on-overflow so that we can work with unboxed ints even if there's potential overflow
      2d55194c
    • Kevin Modzelewski's avatar
      Fix a bug when CFG-izing certain structures in try blocks · 0a7dc330
      Kevin Modzelewski authored
      Augassigns and for loops had an issue where they would try to
      do something like 'i = i.__iadd__(j)', ie have multiple operations
      in a single statement.  If an exception occurs, it's not clear if
      the name got redefined; so far we just assume that it always does (since
      we don't have the mechanism to propagate the name along only one
      control flow edge).
      
      So we have to split up those multi-operation-statements into multiple
      statements.
      0a7dc330
    • Kevin Modzelewski's avatar
      let's only clear these in debug mode · 983d9d0b
      Kevin Modzelewski authored
      983d9d0b