python / python/cpython

Factor out the interpreter (PyEval_EvalFrameDefault) and helper functions into separate files

未关闭
#150,950 0 条评论 7 个 reaction 已指派 1 人 在 GitHub 查看

@markshannon 已经在做这个了。

开始于 2026年6月5日。

interpreter-core type-refactor
主要语言
Python
星标
77.2k
派生
35.9k
PR 合并指标
PR 指标待抓取

描述

Currently ceval.c contains the interpreter and a lot of helper functions.

We should factor the interpreter into a separate file from everything else, because:

  • The interpreter is special. It is more of a template for various different interpreters than a normal function, having it in its own file makes it a lot easier to follow the various macros and #if conditions
  • It means that all helpers must have symbols (not be static) helping any JITs using PEP 523, such as PyTorch and CinderX
  • Having the interpreter in its own file makes it easier to build it differently for JIT, free-threading and other custom builds that might need to modify the interpreter, but don't want to have to mess with the rest of the VM
  • ceval.c is big and breaking it up makes it a bit easier to read the code

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。