mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
GH-113464: Add a JIT backend for tier 2 (GH-113465)
Add an option (--enable-experimental-jit for configure-based builds or --experimental-jit for PCbuild-based ones) to build an *experimental* just-in-time compiler, based on copy-and-patch (https://fredrikbk.com/publications/copy-and-patch.pdf). See Tools/jit/README.md for more information on how to install the required build-time tooling.
This commit is contained in:
parent
f7c05d7ad3
commit
f6d9e5926b
29 changed files with 1738 additions and 5 deletions
28
Tools/jit/build.py
Normal file
28
Tools/jit/build.py
Normal file
|
@ -0,0 +1,28 @@
|
|||
"""Build an experimental just-in-time compiler for CPython."""
|
||||
import argparse
|
||||
import pathlib
|
||||
import shlex
|
||||
import sys
|
||||
|
||||
import _targets
|
||||
|
||||
if __name__ == "__main__":
|
||||
comment = f"$ {shlex.join([sys.executable] + sys.argv)}"
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument(
|
||||
"target", type=_targets.get_target, help="a PEP 11 target triple to compile for"
|
||||
)
|
||||
parser.add_argument(
|
||||
"-d", "--debug", action="store_true", help="compile for a debug build of Python"
|
||||
)
|
||||
parser.add_argument(
|
||||
"-f", "--force", action="store_true", help="force the entire JIT to be rebuilt"
|
||||
)
|
||||
parser.add_argument(
|
||||
"-v", "--verbose", action="store_true", help="echo commands as they are run"
|
||||
)
|
||||
args = parser.parse_args()
|
||||
args.target.debug = args.debug
|
||||
args.target.force = args.force
|
||||
args.target.verbose = args.verbose
|
||||
args.target.build(pathlib.Path.cwd(), comment=comment)
|
Loading…
Add table
Add a link
Reference in a new issue