1. 05 Jul, 2016 4 commits
  2. 04 Jul, 2016 2 commits
  3. 03 Jul, 2016 1 commit
    • Boxiang Sun's avatar
      Remove the "CPython executable parser" · bfe06380
      Boxiang Sun authored
      Pyston call CPython executable to generate CPython AST. Remove this
      "parser", use CPython Parser module by default. Pass "-x" to enable
      libpypa parser.
      bfe06380
  4. 02 Jul, 2016 5 commits
  5. 30 Jun, 2016 3 commits
  6. 29 Jun, 2016 2 commits
  7. 28 Jun, 2016 2 commits
    • Marius Wachtler's avatar
      ICs: variable size IC slots · 258a2b0a
      Marius Wachtler authored
      before this change we had a fixed number of equal size slots inside an IC.
      Because of the large difference in rewrite sizes a fixed slot size is not ideal.
      We often ended up with too large slots which prevented us from emitting more slots.
      (or very large ICs in general which are bad for memory usage and the instruction cache)
      
      With this commit we will start with a single slot with the size of the whole IC and then decreasing its size to the actual bytes emitted
      and creating a new slot which starts directly at the end of the previous slot.
      We will repeat to to this until the space left is smaller than the number of bytes the last slot required.
      This makes it a little bit less likely that we will be successful in overwritting an existing slot
      but our benchmarks show that it is still a large win on all our benchmarks.
      
      Some notable changes are:
      - we pick the slot to rewrite much earlier now and prevent it from getting rewritten while we rewrite using num_inside = 1
        the reason is that we would otherwise not know how big the slot is
      - when we resize a slot we have to patch the failing guard jumps to the address of the next slot
      258a2b0a
    • sizeoftank's avatar
      Add type.__basicsize__, type.__itemsize__ · d42e89aa
      sizeoftank authored
      d42e89aa
  8. 27 Jun, 2016 3 commits
  9. 26 Jun, 2016 2 commits
  10. 24 Jun, 2016 1 commit
  11. 23 Jun, 2016 1 commit
    • Boxiang Sun's avatar
      Enable CPython's macro PyCFunction_GET_FUNCTION. Fixes issue #1260 · e6931d60
      Boxiang Sun authored
      The function PyCFunction_GetFunction(func) check func type should be
      exactly PyCFunction_Type. PyCFunction_GET_FUNCTION(func) does not check
      func type. But assumes func layout starts with PyCFunctionObject. i.e.
      for allowing func to be PyCFunction_Type subclass.
      
      This way an extension which subclasses PyCFunctionObject will get
      into trouble using PyCFunction_GET_FUNCTION() on Pyston
      e6931d60
  12. 20 Jun, 2016 1 commit
  13. 17 Jun, 2016 10 commits
  14. 16 Jun, 2016 3 commits
    • Kevin Modzelewski's avatar
      Improve lineno handling · 8bc8f879
      Kevin Modzelewski authored
      We've been a bit lazy about adding line numbers to all ast nodes.
      This is an inconvenience when the tracebacks are bad/wrong, and it's
      also causing issues for testing code that wants to look at the line
      at which something failed.
      
      So I added line numbers to a whole bunch more nodes.  There are still
      quite a few that don't have line numbers, but many of them are harmless,
      so I tried to identify the ones that matter.  I also added some assertions
      to make sure that bad (non-positive) line numbers don't escape to the user.
      8bc8f879
    • Kevin Modzelewski's avatar
      Turn down verbosity · a3e41785
      Kevin Modzelewski authored
      a3e41785
    • Kevin Modzelewski's avatar
      Regression test: this test throws an irgen assertion · ae2b1c0c
      Kevin Modzelewski authored
      This issue is that type analysis is stronger than irgen.
      Specifically here, type analysis knows that the phi isn't required
      and propagates the type across BB's, but irgen conservatively promotes
      to UNKNOWN.
      ae2b1c0c