https://github.com/python/cpython/commit/c3a12ae13ee0212a096f570064407f8ba954e6aa
commit: c3a12ae13ee0212a096f570064407f8ba954e6aa
branch: main
author: Savannah Ostrowski <[email protected]>
committer: brandtbucher <[email protected]>
date: 2024-11-05T15:26:46-08:00
summary:
GH-125911: Rename big trampoline to "shim" (GH-126339)
files:
A Tools/jit/shim.c
D Tools/jit/trampoline.c
M Python/jit.c
M Tools/jit/_targets.py
M Tools/jit/_writer.py
diff --git a/Python/jit.c b/Python/jit.c
index 135daeb1b1da80..90f693dfb7c41b 100644
--- a/Python/jit.c
+++ b/Python/jit.c
@@ -470,7 +470,7 @@ _PyJIT_Compile(_PyExecutorObject *executor, const
_PyUOpInstruction trace[], siz
size_t code_size = 0;
size_t data_size = 0;
jit_state state = {0};
- group = &trampoline;
+ group = &shim;
code_size += group->code_size;
data_size += group->data_size;
combine_symbol_mask(group->trampoline_mask, state.trampolines.mask);
@@ -507,12 +507,10 @@ _PyJIT_Compile(_PyExecutorObject *executor, const
_PyUOpInstruction trace[], siz
unsigned char *code = memory;
unsigned char *data = memory + code_size;
state.trampolines.mem = memory + code_size + data_size;
- // Compile the trampoline, which handles converting between the native
+ // Compile the shim, which handles converting between the native
// calling convention and the calling convention used by jitted code
- // (which may be different for efficiency reasons). On platforms where
- // we don't change calling conventions, the trampoline is empty and
- // nothing is emitted here:
- group = &trampoline;
+ // (which may be different for efficiency reasons).
+ group = &shim;
group->emit(code, data, executor, NULL, &state);
code += group->code_size;
data += group->data_size;
@@ -536,7 +534,7 @@ _PyJIT_Compile(_PyExecutorObject *executor, const
_PyUOpInstruction trace[], siz
return -1;
}
executor->jit_code = memory;
- executor->jit_side_entry = memory + trampoline.code_size;
+ executor->jit_side_entry = memory + shim.code_size;
executor->jit_size = total_size;
return 0;
}
diff --git a/Tools/jit/_targets.py b/Tools/jit/_targets.py
index 634208da3c8157..d8dce0a905c0f8 100644
--- a/Tools/jit/_targets.py
+++ b/Tools/jit/_targets.py
@@ -154,8 +154,8 @@ async def _build_stencils(self) -> dict[str,
_stencils.StencilGroup]:
with tempfile.TemporaryDirectory() as tempdir:
work = pathlib.Path(tempdir).resolve()
async with asyncio.TaskGroup() as group:
- coro = self._compile("trampoline", TOOLS_JIT / "trampoline.c",
work)
- tasks.append(group.create_task(coro, name="trampoline"))
+ coro = self._compile("shim", TOOLS_JIT / "shim.c", work)
+ tasks.append(group.create_task(coro, name="shim"))
template = TOOLS_JIT_TEMPLATE_C.read_text()
for case, opname in cases_and_opnames:
# Write out a copy of the template with *only* this case
diff --git a/Tools/jit/_writer.py b/Tools/jit/_writer.py
index f33d8ef322f073..81a9f08db31703 100644
--- a/Tools/jit/_writer.py
+++ b/Tools/jit/_writer.py
@@ -22,11 +22,11 @@ def _dump_footer(
yield " symbol_mask trampoline_mask;"
yield "} StencilGroup;"
yield ""
- yield f"static const StencilGroup trampoline =
{groups['trampoline'].as_c('trampoline')};"
+ yield f"static const StencilGroup shim = {groups['shim'].as_c('shim')};"
yield ""
yield "static const StencilGroup stencil_groups[MAX_UOP_ID + 1] = {"
for opname, group in sorted(groups.items()):
- if opname == "trampoline":
+ if opname == "shim":
continue
yield f" [{opname}] = {group.as_c(opname)},"
yield "};"
diff --git a/Tools/jit/trampoline.c b/Tools/jit/shim.c
similarity index 100%
rename from Tools/jit/trampoline.c
rename to Tools/jit/shim.c
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]