1. 04 Oct, 2016 9 commits
    • Kevin Modzelewski's avatar
      Special refcounting exemption for buggy extensions · a20593e8
      Kevin Modzelewski authored
      google's protobuf library gives away one too many refs to one of its types.
      
      This workaround feels excessively specific, but this is a common mistake to
      make, and it works just fine in CPython, so let people get away with it
      as well in Pyston.
      a20593e8
    • Kevin Modzelewski's avatar
      Recursion-depth-checking fixes · 3e10ff4d
      Kevin Modzelewski authored
      We weren't properly reducing the stack depth when yielding from a generator,
      meaning that the recursion depth was effectively decreased by the number
      of active generators.
      3e10ff4d
    • Kevin Modzelewski's avatar
      Better log message here · 5fdbbfcc
      Kevin Modzelewski authored
      5fdbbfcc
    • Kevin Modzelewski's avatar
      Hackish imp.get_magic workaround · bfdaf2ec
      Kevin Modzelewski authored
      Too many things want this to be able to remove it completely.  Surprisingly,
      having imp.get_magic exist but return a changing value seems to make all those
      libraries happy.
      bfdaf2ec
    • Kevin Modzelewski's avatar
      Support "asynchronous exceptions" · 3cb7d7b8
      Kevin Modzelewski authored
      A function at risk of "naive misuse", it is only accessible via the C API.
      
      This commit adds basic support for it using the same mechanism we use for
      signals.  We also have the GIL-check mechanism, but that would be a bit more
      work to get working right now due to the fact that our GIL-checks don't support
      throwing exceptions.  Doing the async-exc check during signal checking means
      that we will throw the async exc faster than CPython does.  It also means
      that there are some pathological cases where with a lot of threads and a lot
      of async excs we will probably have much worse performance.  But as long as they
      are rare I think this commit shouldn't add any steady-state performance costs.
      3cb7d7b8
    • Kevin Modzelewski's avatar
      Add a PyFrame_New test · b6e93897
      Kevin Modzelewski authored
      Specifically, for the case that locals==NULL (which Cython exercises), which
      wasn't previously working.
      
      now using ctypes to test the c api
      b6e93897
    • Kevin Modzelewski's avatar
      9dfc01d1
    • Kevin Modzelewski's avatar
      Fix optimization that is wrong for abstract classes · fa775e2c
      Kevin Modzelewski authored
      We fast-pathed "type has __init__ but not __new__" by saying
      that the default __new__ would always succeed, but this isn't true for abstract classes.
      fa775e2c
    • Kevin Modzelewski's avatar
      8e739ffc
  2. 29 Sep, 2016 1 commit
  3. 28 Sep, 2016 2 commits
  4. 27 Sep, 2016 2 commits
  5. 26 Sep, 2016 1 commit
  6. 21 Sep, 2016 4 commits
  7. 20 Sep, 2016 1 commit
    • Kevin Modzelewski's avatar
      Add type.__instancecheck__ and __subclasscheck__ · 77658381
      Kevin Modzelewski authored
      We supported classes that overrode them, but didn't provide a
      default implementation in case people called it by hand.
      
      The tricky part is making sure that these new additions don't
      mess with our "does this class override __instancecheck__" optimizations.
      77658381
  8. 19 Sep, 2016 2 commits
  9. 14 Sep, 2016 1 commit
  10. 13 Sep, 2016 4 commits
  11. 12 Sep, 2016 13 commits