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.


_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to