diff --git a/peps/pep-0744.rst b/peps/pep-0744.rst index da5d89cdfc8..413ea8fcd0b 100644 --- a/peps/pep-0744.rst +++ b/peps/pep-0744.rst @@ -1,6 +1,7 @@ PEP: 744 Title: JIT Compilation -Author: Brandt Bucher +Author: Brandt Bucher , + Savannah Ostrowski , Discussions-To: https://discuss.python.org/t/pep-744-jit-compilation/50756 Status: Draft Type: Informational @@ -33,7 +34,7 @@ the following resources: JIT at the 2023 CPython Core Developer Sprint. It includes relevant background, a light technical introduction to the "copy-and-patch" technique used, and an open discussion of its design amongst the core developers - present. + present. Slides for this talk can be found on `GitHub `__. - The `open access paper `__ originally describing copy-and-patch. @@ -534,6 +535,12 @@ executable. These issues are no longer present in the current design. Dependencies ------------ +At the time of writing, the JIT has a build-time dependency on LLVM. LLVM +is used to compile individual micro-op instructions into blobs of machine code, +which are then linked together to form the JIT's templates. These templates are +used to build CPython itself. The JIT has no runtime dependency on LLVM and is +therefore not at all exposed as a dependency to end users. + Building the JIT adds between 3 and 60 seconds to the build process, depending on platform. It is only rebuilt whenever the generated files become out-of-date, so only those who are actively developing the main interpreter loop will be