Carl Friedrich Bolz-Tereick pushed to branch branch/default 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

- - - - -
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

- - - - -


6 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


View it on GitLab: 
https://foss.heptapod.net/pypy/pypy/compare/ed9633e20a9454ef8a8385876d5bc414fc5a37b4...75d4e0a17e12683cc0ad640a45e4e012c1f89601

---
View it on GitLab: 
https://foss.heptapod.net/pypy/pypy/compare/ed9633e20a9454ef8a8385876d5bc414fc5a37b4...75d4e0a17e12683cc0ad640a45e4e012c1f89601
You're receiving this email because of your account on foss.heptapod.net.
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to