GH-135379: Top of stack caching for the JIT. (GH-135465)

Uses three registers to cache values at the top of the evaluation stack
This significantly reduces memory traffic for smaller, more common uops.
This commit is contained in:
Mark Shannon 2025-12-11 10:32:52 +00:00 committed by GitHub
parent 80c9756e3f
commit 469f191a85
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
30 changed files with 16865 additions and 1357 deletions

View file

@ -585,9 +585,9 @@ dummy_func(void) {
}
}
op(_LOAD_ATTR, (owner -- attr[1], self_or_null[oparg&1])) {
op(_LOAD_ATTR, (owner -- attr, self_or_null[oparg&1])) {
(void)owner;
*attr = sym_new_not_null(ctx);
attr = sym_new_not_null(ctx);
if (oparg & 1) {
self_or_null[0] = sym_new_unknown(ctx);
}