[pypy-commit] [Git][pypy/pypy][branch/default] 16 commits: a branch to try refactor the way that green keys are done on all the small

Carl Friedrich Bolz-Tereick foss at heptapod.net
Sun Feb 23 11:59:12 EST 2020


Carl Friedrich Bolz-Tereick pushed to branch branch/default at PyPy / pypy


Commits:
c4f4b1de by Carl Friedrich Bolz-Tereick at 2020-02-08T17:56:44+01:00
a branch to try refactor the way that green keys are done on all the small
custom jit driver that pypy uses here and there

--HG--
branch : pypy-jitdriver-greenkeys

- - - - -
610d485b by Carl Friedrich Bolz-Tereick at 2020-02-09T13:20:44+01:00
- introduce space.iterator_greenkey which returns "something" that can be used
  as the green key for an iterator to get the right specialization. by default
  it's just the type of the iterator, but generators override it to use the
  underlying pycode. That way, space.unpackiterable of two different generators
  produce two different loops.

- make a pass over all jitdrivers to use this new api

--HG--
branch : pypy-jitdriver-greenkeys

- - - - -
4703314d by Carl Friedrich Bolz-Tereick at 2020-02-09T16:36:25+01:00
various fixes

--HG--
branch : pypy-jitdriver-greenkeys

- - - - -
796b1706 by Carl Friedrich Bolz-Tereick at 2020-02-09T22:31:49+01:00
random finding: return early in this safety checking function in the JIT (I
looked at jitcodes, it doesn't get removed)

--HG--
branch : pypy-jitdriver-greenkeys

- - - - -
77d87795 by Carl Friedrich Bolz-Tereick at 2020-02-09T22:51:26+01:00
test showing the effect

--HG--
branch : pypy-jitdriver-greenkeys

- - - - -
a97fb856 by Carl Friedrich Bolz-Tereick at 2020-02-11T14:08:09+01:00
slightly simplify for the jit, for the common non-tracing case

--HG--
branch : pypy-jitdriver-greenkeys

- - - - -
ac3de501 by Carl Friedrich Bolz-Tereick at 2020-02-19T21:23:55+01:00
typo

--HG--
branch : pypy-jitdriver-greenkeys

- - - - -
e73aeb9b by Carl Friedrich Bolz-Tereick at 2020-02-19T21:28:33+01:00
annoying: the jit main loops get split at the can_enter_jit (or
jit_merge_point), this means that the list iterators (and range iterator)
aren't optimized away by backenopt.malloc. just replace these with an index
instead

--HG--
branch : pypy-jitdriver-greenkeys

- - - - -
b2460d35 by Carl Friedrich Bolz-Tereick at 2020-02-21T10:52:31+01:00
merge default

--HG--
branch : pypy-jitdriver-greenkeys

- - - - -
65ff1239 by Carl Friedrich Bolz-Tereick at 2020-02-21T11:52:12+01:00
merge default

--HG--
branch : pypy-jitdriver-greenkeys

- - - - -
c05c3b83 by Carl Friedrich Bolz-Tereick at 2020-02-21T13:06:04+01:00
merge default

--HG--
branch : pypy-jitdriver-greenkeys

- - - - -
4d5a1d76 by Carl Friedrich Bolz-Tereick at 2020-02-21T13:07:10+01:00
document branch

--HG--
branch : pypy-jitdriver-greenkeys

- - - - -
9c4a7f8c by Carl Friedrich Bolz-Tereick at 2020-02-23T13:37:35+01:00
merge pypy-jitdriver-greenkeys:

use better green keys for non-standard jitdrivers to make sure that e.g.
generators are specialized based on their code object.

- - - - -
22903f3d by Carl Friedrich Bolz-Tereick at 2020-02-23T13:54:45+01:00
this part is potentially wrong (_check_stack_index is called when unpickling frames)

- - - - -
476abd19 by Carl Friedrich Bolz-Tereick at 2020-02-23T13:55:13+01:00
merge heads

- - - - -
dc426d3f by Carl Friedrich Bolz-Tereick at 2020-02-23T17:57:58+01:00
merge heads

- - - - -


16 changed files:

- pypy/doc/whatsnew-head.rst
- pypy/interpreter/baseobjspace.py
- pypy/interpreter/generator.py
- pypy/interpreter/pycode.py
- pypy/interpreter/pyopcode.py
- pypy/module/__builtin__/functional.py
- pypy/module/array/interp_array.py
- pypy/module/itertools/interp_itertools.py
- pypy/module/pypyjit/test_pypy_c/test_generators.py
- pypy/objspace/descroperation.py
- pypy/objspace/std/bytearrayobject.py
- pypy/objspace/std/listobject.py
- pypy/objspace/std/setobject.py
- pypy/objspace/std/tupleobject.py
- pypy/objspace/std/typeobject.py
- rpython/jit/metainterp/warmspot.py


View it on GitLab: https://foss.heptapod.net/pypy/pypy/compare/0147c3a37dd601edfbde121cdac36ecb2297fd51...dc426d3f3ccc7cd6dea68c675991ee3abb77e9b2

---
View it on GitLab: https://foss.heptapod.net/pypy/pypy/compare/0147c3a37dd601edfbde121cdac36ecb2297fd51...dc426d3f3ccc7cd6dea68c675991ee3abb77e9b2
You're receiving this email because of your account on foss.heptapod.net.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-commit/attachments/20200223/6d650821/attachment-0001.html>


More information about the pypy-commit mailing list