gh-105775: Convert LOAD_CLOSURE to a pseudo-op (#106059)

This enables super-instruction formation,
removal of checks for uninitialized variables,
and frees up an instruction.
This commit is contained in:
hms 2023-06-29 10:34:00 -06:00 committed by GitHub
parent 3c70d467c1
commit 8bff940ad6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 733 additions and 702 deletions

View file

@ -175,12 +175,9 @@ dummy_func(
}
}
inst(LOAD_CLOSURE, (-- value)) {
/* We keep LOAD_CLOSURE so that the bytecode stays more readable. */
value = GETLOCAL(oparg);
ERROR_IF(value == NULL, unbound_local_error);
Py_INCREF(value);
}
pseudo(LOAD_CLOSURE) = {
LOAD_FAST,
};
inst(LOAD_FAST_CHECK, (-- value)) {
value = GETLOCAL(oparg);