Skip to content

Commit 8c02849

Browse files
PEP 744: Add link to slides and clarification about LLVM dependency (GH-3850)
1 parent 2d60997 commit 8c02849

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

peps/pep-0744.rst

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
PEP: 744
22
Title: JIT Compilation
3-
Author: Brandt Bucher <brandt@python.org>
3+
Author: Brandt Bucher <brandt@python.org>,
4+
Savannah Ostrowski <savannahostrowski@gmail.com>,
45
Discussions-To: https://discuss.python.org/t/pep-744-jit-compilation/50756
56
Status: Draft
67
Type: Informational
@@ -33,7 +34,7 @@ the following resources:
3334
JIT at the 2023 CPython Core Developer Sprint. It includes relevant
3435
background, a light technical introduction to the "copy-and-patch" technique
3536
used, and an open discussion of its design amongst the core developers
36-
present.
37+
present. Slides for this talk can be found on `GitHub <https://github.com/brandtbucher/brandtbucher/blob/master/2023/10/10/a_jit_compiler_for_cpython.pdf>`__.
3738

3839
- The `open access paper <https://dl.acm.org/doi/10.1145/3485513>`__ originally
3940
describing copy-and-patch.
@@ -534,6 +535,12 @@ executable. These issues are no longer present in the current design.
534535
Dependencies
535536
------------
536537

538+
At the time of writing, the JIT has a build-time dependency on LLVM. LLVM
539+
is used to compile individual micro-op instructions into blobs of machine code,
540+
which are then linked together to form the JIT's templates. These templates are
541+
used to build CPython itself. The JIT has no runtime dependency on LLVM and is
542+
therefore not at all exposed as a dependency to end users.
543+
537544
Building the JIT adds between 3 and 60 seconds to the build process, depending
538545
on platform. It is only rebuilt whenever the generated files become out-of-date,
539546
so only those who are actively developing the main interpreter loop will be

0 commit comments

Comments
 (0)