[pypy-commit] [Git][pypy/pypy][branch/default] 4 commits: Trying to implement pypyjit.releaseall(), marking all machine codes as to be released

Armin Rigo foss at heptapod.net
Sun Aug 30 15:11:02 EDT 2020



Armin Rigo pushed to branch branch/default at PyPy / pypy


Commits:
cb01408e by Armin Rigo at 2020-08-30T16:10:16+02:00
Trying to implement pypyjit.releaseall(), marking all machine codes as to be released

--HG--
branch : jit-releaseall

- - - - -
f28fdcda by Armin Rigo at 2020-08-30T17:01:28+02:00
add jit_hooks.stats_memmgr_release_all()

--HG--
branch : jit-releaseall

- - - - -
a2a08253 by Armin Rigo at 2020-08-30T17:13:03+02:00
Add the app-level hook 'pypyjit.releaseall()'

--HG--
branch : jit-releaseall

- - - - -
5ae5b52f by Armin Rigo at 2020-08-30T19:10:55+00:00
Merge branch 'branch/jit-releaseall' into 'branch/default'

Add pypyjit.releaseall()

pypyjit.releaseall() is a helper that marks all current machine code objects as ready to release.  They will be released at the next GC (unless they are currently in use in the stack of one of the threads).  Doing `pypyjit.releaseall(); gc.collect()` is a heavy hammer that forces the JIT roughly to the state of a newly started PyPy.  It might be useful in some cases where our GC strategy is not good enough, e.g. if there is an ever-growing number of bridges out of the same loop, which can occur e.g. if the loop is in stable code but contains inline bridges that depend on code or classes that keep being (re-)created.

See merge request pypy/pypy!749

- - - - -


6 changed files:

- pypy/module/pypyjit/interp_jit.py
- pypy/module/pypyjit/moduledef.py
- rpython/jit/metainterp/memmgr.py
- rpython/jit/metainterp/test/test_jitiface.py
- rpython/jit/metainterp/warmspot.py
- rpython/rlib/jit_hooks.py


View it on GitLab: https://foss.heptapod.net/pypy/pypy/-/compare/f6d4891ccaaf8b3edf399f93f63b0549b6b552ac...5ae5b52fb4fc02a1e5450ae6a32cd407f9369c54

-- 
View it on Heptapod: https://foss.heptapod.net/pypy/pypy/-/compare/f6d4891ccaaf8b3edf399f93f63b0549b6b552ac...5ae5b52fb4fc02a1e5450ae6a32cd407f9369c54
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/20200830/f627f3c0/attachment.html>


More information about the pypy-commit mailing list