Generate the interpreter · Issue #98831 · python/cpython · GitHub

github.com

Tin mới

GitHub CopilotWrite better code with AI

GitHub Copilot appDirect agents from issue to merge

ActionsAutomate any workflow

CodespacesInstant dev environments

IssuesPlan and track work

Code ReviewManage code changes

Code QualityEnforce quality at merge

GitHub Advanced SecurityFind and fix vulnerabilities

Code securitySecure your code as you build

Secret protectionStop leaks before they start

View all use cases

Financial services

View all industries

Software Development

GitHub SponsorsFund open source developers

Copilot for BusinessEnterprise-grade AI features

Premium SupportEnterprise-grade 24/7 support

Pull requests 2.6k

Security and quality 0

3.12only security fixes

interpreter-core(Objects, Python, Grammar, and Parser dirs)

type-featureA feature request or enhancement

faster-cpython/ideas

We are planning to land at least an early version of this work in 3.12. We have a tentative grammar for instruction definition DSL -- which will undoubtedly undergo several iterations before we've settled. We have a firs

instruction definition DSL

We are planning to land at least an early version of this work in 3.12. We have a tentative grammar for instruction definition DSL -- which will undoubtedly undergo several iterations before we've settled. We have a firs

first draft of the tooling

We are planning to land at least an early version of this work in 3.12. We have a tentative grammar for instruction definition DSL -- which will undoubtedly undergo several iterations before we've settled. We have a firs

Generating code for the ceval loop/switch faster-cpython/ideas#5

Super-instructions faster-cpython/ideas#16

Define opcodes in terms of smaller "micro-ops" faster-cpython/ideas#454

Change the interpreter definition DSL to be legal C syntax faster-cpython/ideas#477

Mechanics of interpreter generation from DSL faster-cpython/ideas#479

Stack effect of jumping -- how to express in DSL faster-cpython/ideas#481

GH-98831: Remove redundant extract_cases.py script #99065

GH-98831: Implement super-instruction generation #99084

GH-98831: Add some macros definitions to bytecodes.c to reduce IDE warnings. #99093

GH-98831: Auto-generate PREDICTED() macro calls #99102

GH-98831: Add regen-cases to regen-all #99107

GH-98831: Simple input-output stack effects #99120

GH-98831: Remove all remaining DISPATCH() calls from bytecodes.c #99271

GH-98831: Implement basic cache effects #99313

GH-98831: Refactor generate_cases.py #99408

GH-98831: Add macro and op and their implementation to DSL #99495

GH-98831: Refactor and fix cases generator #99526

GH-98831: Support cache effects in super- and macro instructions #99601

GH-98831: Typed stack effects, and more instructions converted #99764

GH-98831: Get rid of super(), just use macro() #100095

GH-98831: Generate things in the input order #100123

GH-98831: Remove super-instruction definitions, use macro instructions instead #100124

GH-98831: Add DECREF_INPUTS(), expanding to DECREF() each stack input #100205

GH-98831: Modernize a ton of simpler instructions #100545

GH-98831: Add some tests for generate_cases.py #100763