diff options
| author | Guillaume Melquiond | 2020-12-27 10:36:31 +0100 |
|---|---|---|
| committer | Guillaume Melquiond | 2021-01-10 10:24:10 +0100 |
| commit | d009572893913b889320f2fa3435543ee4c63f82 (patch) | |
| tree | f15d2920bb65b888f6c21754b3cd9ee2c9723bcf /kernel/vmemitcodes.ml | |
| parent | 723440611965ccdecfd56e61c8f1f8618a08841d (diff) | |
Remove PUSHACC0, as it is strictly equivalent to PUSH.
Diffstat (limited to 'kernel/vmemitcodes.ml')
| -rw-r--r-- | kernel/vmemitcodes.ml | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/vmemitcodes.ml b/kernel/vmemitcodes.ml index c1d8fcb855..e70285d9ab 100644 --- a/kernel/vmemitcodes.ml +++ b/kernel/vmemitcodes.ml @@ -375,7 +375,9 @@ let rec emit env insns remaining = match insns with | (first::rest) -> emit env first rest) (* Peephole optimizations *) | Kpush :: Kacc n :: c -> - if n < 8 then out env(opPUSHACC0 + n) else (out env opPUSHACC; out_int env n); + if n = 0 then out env opPUSH + else if n < 8 then out env (opPUSHACC1 + n - 1) + else (out env opPUSHACC; out_int env n); emit env c remaining | Kpush :: Kenvacc n :: c -> if n >= 0 && n <= 3 |
