Skip to content

Commit 3a3fa75

Browse files
Update stencils
1 parent a34fa62 commit 3a3fa75

File tree

4 files changed

+29309
-4203
lines changed

4 files changed

+29309
-4203
lines changed

Tools/jit/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,14 @@ Alternatively, you can use [chocolatey](https://chocolatey.org):
5959

6060
```sh
6161
choco install llvm --version=19.1.0
62+
6263
```
6364

65+
### Applying stencil patches from CI
66+
67+
Stencil files are validated and updated when changes are made to JIT-related files in CI as part of the `jit.yml` workflow. The final step in the `jit` job diffs the current
68+
stencils in the repo against those generated in CI. If there is a diff for a platform’s stencil, a patch file for the updated stencil is generated and the step will fail. After CI is finished running across all platforms, the patches are aggregated into a single patch file for convenience. You can download this aggregated patch, apply it locally (i.e. `git apply`), and commit the updated stencils back to your branch. Then, the subsequent CI run will pass.
69+
6470
[^pep-744]: [PEP 744](https://peps.python.org/pep-0744/)
6571

6672
[^why-llvm]: Clang is specifically needed because it's the only C compiler with support for guaranteed tail calls (`musttail`), which are required by CPython's continuation-passing-style approach to JIT compilation. Since LLVM also includes other functionalities we need (namely, object file parsing and disassembly), it's convenient to only support one toolchain at this time.

0 commit comments

Comments
 (0)