GH-128682: Make PyStackRef_CLOSE escaping. (GH-129404)

This commit is contained in:
Mark Shannon 2025-02-03 12:41:32 +00:00 committed by GitHub
parent 218f205f20
commit 808071b994
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 1348 additions and 657 deletions

View file

@ -1837,12 +1837,6 @@
}
case _EXPAND_METHOD: {
JitOptSymbol **method;
JitOptSymbol **self;
method = &stack_pointer[-2 - oparg];
self = &stack_pointer[-1 - oparg];
method[0] = sym_new_not_null(ctx);
self[0] = sym_new_not_null(ctx);
break;
}
@ -1870,15 +1864,13 @@
}
case _INIT_CALL_BOUND_METHOD_EXACT_ARGS: {
JitOptSymbol *callable;
JitOptSymbol *func;
JitOptSymbol *self;
callable = stack_pointer[-2 - oparg];
JitOptSymbol **self_or_null;
JitOptSymbol **callable;
self_or_null = &stack_pointer[-1 - oparg];
callable = &stack_pointer[-2 - oparg];
(void)callable;
func = sym_new_not_null(ctx);
self = sym_new_not_null(ctx);
stack_pointer[-2 - oparg] = func;
stack_pointer[-1 - oparg] = self;
callable[0] = sym_new_not_null(ctx);
self_or_null[0] = sym_new_not_null(ctx);
break;
}
@ -2214,12 +2206,6 @@
}
case _EXPAND_METHOD_KW: {
JitOptSymbol **method;
JitOptSymbol **self;
method = &stack_pointer[-3 - oparg];
self = &stack_pointer[-2 - oparg];
method[0] = sym_new_not_null(ctx);
self[0] = sym_new_not_null(ctx);
break;
}
@ -2410,16 +2396,14 @@
}
case _SWAP: {
JitOptSymbol *top_in;
JitOptSymbol *bottom_in;
JitOptSymbol *top_out;
JitOptSymbol *bottom_out;
top_in = stack_pointer[-1];
bottom_in = stack_pointer[-2 - (oparg-2)];
bottom_out = bottom_in;
top_out = top_in;
stack_pointer[-2 - (oparg-2)] = top_out;
stack_pointer[-1] = bottom_out;
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;
assert(oparg >= 2);
break;
}
@ -2639,8 +2623,6 @@
}
case _ERROR_POP_N: {
stack_pointer += -oparg;
assert(WITHIN_STACK_BOUNDS());
break;
}