gh-121459: Deferred LOAD_GLOBAL (GH-123128)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Sam Gross <655866+colesbury@users.noreply.github.com>
This commit is contained in:
Ken Jin 2024-09-14 00:23:51 +08:00 committed by GitHub
parent 74330d992b
commit 8810e286fa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 108 additions and 29 deletions

View file

@ -829,11 +829,13 @@
}
case _LOAD_GLOBAL: {
_Py_UopsSymbol *res;
_Py_UopsSymbol **res;
_Py_UopsSymbol *null = NULL;
res = sym_new_not_null(ctx);
res = &stack_pointer[0];
for (int _i = 1; --_i >= 0;) {
res[_i] = sym_new_not_null(ctx);
}
null = sym_new_null(ctx);
stack_pointer[0] = res;
if (oparg & 1) stack_pointer[1] = null;
stack_pointer += 1 + (oparg & 1);
assert(WITHIN_STACK_BOUNDS());