You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Macro instructions can now also have cache effects.
We pass the initial cache offset into write_body().
This is a little fiddly because everything is different
for super-instructions vs macros:
- For super, cache_adjust is always zero because we
bump `next_instr` after each op.
- For macro, cache_adjust accumulates previous cache offsets,
and we bump `next_instr` at the end.
Also, I had to move the bump of `next_instr` back into `Instr*.write()`.
It is better placed there anyway because that function avoids the bump
if the C code already ends in a `goto`, `return` or `DISPATCH*()` call.
(The previous commit emitted one unreachable bump, which is now fixed.)
Tested manually.
0 commit comments