Skip to content

Commit f80764f

Browse files
committed
Cases gen refactoring.
1 parent 9238a67 commit f80764f

File tree

7 files changed

+168
-167
lines changed

7 files changed

+168
-167
lines changed

Python/bytecodes.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1485,7 +1485,7 @@ dummy_func(
14851485
(void)counter;
14861486
}
14871487

1488-
op(_UNPACK_SEQUENCE, (seq -- output[oparg], top[0])) {
1488+
op(_UNPACK_SEQUENCE, (seq -- unused[oparg], top[0])) {
14891489
PyObject *seq_o = PyStackRef_AsPyObjectSteal(seq);
14901490
int res = _PyEval_UnpackIterableStackRef(tstate, seq_o, oparg, -1, top);
14911491
Py_DECREF(seq_o);
@@ -1534,7 +1534,7 @@ dummy_func(
15341534
DECREF_INPUTS();
15351535
}
15361536

1537-
inst(UNPACK_EX, (seq -- left[oparg & 0xFF], unused, right[oparg >> 8], top[0])) {
1537+
inst(UNPACK_EX, (seq -- unused[oparg & 0xFF], unused, unused[oparg >> 8], top[0])) {
15381538
PyObject *seq_o = PyStackRef_AsPyObjectSteal(seq);
15391539
int res = _PyEval_UnpackIterableStackRef(tstate, seq_o, oparg & 0xFF, oparg >> 8, top);
15401540
Py_DECREF(seq_o);

Tools/cases_generator/generators_common.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,9 +205,9 @@ def error_if(
205205
next(tkn_iter) # Semi colon
206206
storage.clear_inputs("at ERROR_IF")
207207

208-
c_offset = storage.stack.peek_offset()
208+
c_offset = storage.stack.sp_offset()
209209
try:
210-
offset = -int(c_offset)
210+
offset = int(c_offset)
211211
except ValueError:
212212
offset = -1
213213
self.out.emit(self.goto_error(offset, label, storage))

Tools/cases_generator/opcode_metadata_generator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ def generate_stack_effect_functions(analysis: Analysis, out: CWriter) -> None:
100100
def add(inst: Instruction | PseudoInstruction) -> None:
101101
stack = get_stack_effect(inst)
102102
popped = (-stack.base_offset).to_c()
103-
pushed = (stack.top_offset - stack.base_offset).to_c()
103+
pushed = (stack.logical_sp - stack.base_offset).to_c()
104104
popped_data.append((inst.name, popped))
105105
pushed_data.append((inst.name, pushed))
106106

Tools/cases_generator/optimizer_generator.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,12 @@ def decref_inputs(
7474
def emit_default(out: CWriter, uop: Uop, stack: Stack) -> None:
7575
for var in reversed(uop.stack.inputs):
7676
stack.pop(var)
77-
top_offset = stack.top_offset.copy()
77+
offset = stack.base_offset - stack.physical_sp
7878
for var in uop.stack.outputs:
7979
if var.is_array() and not var.peek and not var.name == "unused":
80-
c_offset = top_offset.to_c()
80+
c_offset = offset.to_c()
8181
out.emit(f"{var.name} = &stack_pointer[{c_offset}];\n")
82-
top_offset.push(var)
82+
offset = offset.push(var)
8383
for var in uop.stack.outputs:
8484
local = Local.undefined(var)
8585
stack.push(local)

0 commit comments

Comments
 (0)