[pypy-commit] [Git][pypy/pypy][branch/win32-cppyy] 19 commits: a branch to try to help the jit reason about nested scopes better, Cells in

Matti Picus foss at heptapod.net
Wed Mar 18 08:06:17 EDT 2020


Matti Picus pushed to branch branch/win32-cppyy at PyPy / pypy


Commits:
48fd242b by Carl Friedrich Bolz-Tereick at 2020-03-08T12:18:16+01:00
a branch to try to help the jit reason about nested scopes better, Cells in
particular

--HG--
branch : nested-scopes-jit

- - - - -
fe216fc2 by Carl Friedrich Bolz-Tereick at 2020-03-09T14:35:53+01:00
start implementing Cell families, that Cells are grouped into, according to
their outer defining function. Goal is to be able to track immutability of
Cells (like mapdict instance fields).

Doesn't work so far, since the initializing set is counted as a mutation so
far.

--HG--
branch : nested-scopes-jit

- - - - -
e1403f7f by Carl Friedrich Bolz-Tereick at 2020-03-09T17:35:16+01:00
fix the failing test: do the cell initialization differently, first initialize
only those cells that aren't arguments. After argument parsing, create the
cells with the correct values directly. That way the tracking whether cells are
ever mutated works correctly for arguments.

--HG--
branch : nested-scopes-jit

- - - - -
a137d056 by Carl Friedrich Bolz-Tereick at 2020-03-09T17:47:27+01:00
use one family per cell

--HG--
branch : nested-scopes-jit

- - - - -
1efa3acb by Carl Friedrich Bolz-Tereick at 2020-03-09T18:05:48+01:00
fix bug

(also, it helps to add the test file)

--HG--
branch : nested-scopes-jit

- - - - -
b27b0ea0 by Carl Friedrich Bolz-Tereick at 2020-03-16T13:45:08+01:00
merge default

--HG--
branch : nested-scopes-jit

- - - - -
3b16bb59 by Carl Friedrich Bolz-Tereick at 2020-03-16T13:48:31+01:00
fix test, this test shows the effect of the branch: global immutable cells can
have their access completely folded away

--HG--
branch : nested-scopes-jit

- - - - -
0a92bf79 by Carl Friedrich Bolz-Tereick at 2020-03-16T18:11:07+01:00
make the cells optimization also work for non-arguments, as long as the
variable is only written to once

--HG--
branch : nested-scopes-jit

- - - - -
2576be14 by Carl Friedrich Bolz-Tereick at 2020-03-16T23:27:00+01:00
undo most of d2497f614daa: simplify Cell initialization back to what it was on
default, now that Cell change tracking is somewhat more robust

--HG--
branch : nested-scopes-jit

- - - - -
2eb4875a by Carl Friedrich Bolz-Tereick at 2020-03-17T14:27:40+01:00
strengthen test, add a proper test for non-interference

--HG--
branch : nested-scopes-jit

- - - - -
ed9633e2 by Antonio Cuni at 2020-03-17T14:41:05+01:00
fix test_whatsnew (no need to document the branch, nothing relevant to whatsnew)

- - - - -
8ee78dde by Carl Friedrich Bolz-Tereick at 2020-03-17T15:18:36+01:00
document branch

--HG--
branch : nested-scopes-jit

- - - - -
8972f09b by Carl Friedrich Bolz-Tereick at 2020-03-17T15:19:37+01:00
close to-be-merged branch

--HG--
branch : nested-scopes-jit

- - - - -
e04f626f by Carl Friedrich Bolz-Tereick at 2020-03-17T15:23:54+01:00
merge nested-scopes-jit

teach the JIT to reason better about nested scopes. In particular, track
whether the cells of a single local variable are ever mutated, and if they
aren't, constant fold the read access from them, if they are constant.

- - - - -
75d4e0a1 by Carl Friedrich Bolz-Tereick at 2020-03-17T15:25:31+01:00
merge heads

- - - - -
a10ccf6a by Carl Friedrich Bolz-Tereick at 2020-03-18T09:16:06+01:00
add two global functions that give information on socket fds that 3.7 needs

- - - - -
a82cf4e7 by Matti Picus at 2020-03-18T10:47:33+02:00
update setuptools.msvc vendored copy to find msvc 2019

- - - - -
1f53dbd6 by Matti Picus at 2020-03-18T13:43:40+02:00
prefer modern MSVC over visual 9 to build, even on python2

- - - - -
123aefcf by Matti Picus at 2020-03-18T13:45:22+02:00
merge default into branch

--HG--
branch : win32-cppyy

- - - - -


10 changed files:

- pypy/doc/whatsnew-head.rst
- pypy/interpreter/nestedscope.py
- pypy/interpreter/pycode.py
- pypy/interpreter/pyframe.py
- + pypy/interpreter/test/test_cellfamily.py
- pypy/module/pypyjit/test_pypy_c/test_call.py
- rpython/rlib/rsocket.py
- rpython/rlib/test/test_rsocket.py
- rpython/tool/setuptools_msvc.py
- rpython/translator/platform/windows.py


View it on GitLab: https://foss.heptapod.net/pypy/pypy/compare/10cd54b33fef908d40988356b528af404eb41bf9...123aefcf19df3b45aafa448da2270973fbc265bd

---
View it on GitLab: https://foss.heptapod.net/pypy/pypy/compare/10cd54b33fef908d40988356b528af404eb41bf9...123aefcf19df3b45aafa448da2270973fbc265bd
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/20200318/ad768b1f/attachment.html>


More information about the pypy-commit mailing list