mirror of
https://github.com/python/cpython.git
synced 2025-11-11 02:52:04 +00:00
GH-131498: Replace single-element arrays with scalars in bytecodes.c (GH-132615)
This commit is contained in:
parent
a594008d9e
commit
40ae88988c
7 changed files with 911 additions and 826 deletions
33
Python/optimizer_cases.c.h
generated
33
Python/optimizer_cases.c.h
generated
|
|
@ -1742,12 +1742,14 @@
|
|||
}
|
||||
|
||||
case _INIT_CALL_BOUND_METHOD_EXACT_ARGS: {
|
||||
JitOptSymbol **self_or_null;
|
||||
JitOptSymbol **callable;
|
||||
self_or_null = &stack_pointer[-1 - oparg];
|
||||
callable = &stack_pointer[-2 - oparg];
|
||||
callable[0] = sym_new_not_null(ctx);
|
||||
self_or_null[0] = sym_new_not_null(ctx);
|
||||
JitOptSymbol *self_or_null;
|
||||
JitOptSymbol *callable;
|
||||
self_or_null = stack_pointer[-1 - oparg];
|
||||
callable = stack_pointer[-2 - oparg];
|
||||
callable = sym_new_not_null(ctx);
|
||||
self_or_null = sym_new_not_null(ctx);
|
||||
stack_pointer[-2 - oparg] = callable;
|
||||
stack_pointer[-1 - oparg] = self_or_null;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -2003,9 +2005,6 @@
|
|||
/* _MONITOR_CALL_KW is not a viable micro-op for tier 2 */
|
||||
|
||||
case _MAYBE_EXPAND_METHOD_KW: {
|
||||
JitOptSymbol *kwnames_out;
|
||||
kwnames_out = sym_new_not_null(ctx);
|
||||
stack_pointer[-1] = kwnames_out;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -2180,14 +2179,16 @@
|
|||
}
|
||||
|
||||
case _SWAP: {
|
||||
JitOptSymbol **top;
|
||||
JitOptSymbol **bottom;
|
||||
top = &stack_pointer[-1];
|
||||
bottom = &stack_pointer[-2 - (oparg-2)];
|
||||
JitOptSymbol *temp = bottom[0];
|
||||
bottom[0] = top[0];
|
||||
top[0] = temp;
|
||||
JitOptSymbol *top;
|
||||
JitOptSymbol *bottom;
|
||||
top = stack_pointer[-1];
|
||||
bottom = stack_pointer[-2 - (oparg-2)];
|
||||
JitOptSymbol *temp = bottom;
|
||||
bottom = top;
|
||||
top = temp;
|
||||
assert(oparg >= 2);
|
||||
stack_pointer[-2 - (oparg-2)] = bottom;
|
||||
stack_pointer[-1] = top;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue