Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • pypy pypy
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 677
    • Issues 677
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 13
    • Merge requests 13
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PyPyPyPy
  • pypypypy
  • Merge requests
  • !749

Add pypyjit.releaseall()

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Armin Rigo requested to merge branch/jit-releaseall into branch/default Aug 30, 2020
  • Overview 0
  • Commits 3
  • Pipelines 1
  • Changes 6

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.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: branch/jit-releaseall