diff options
| author | Pierre-Marie Pédrot | 2021-03-30 14:05:08 +0200 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2021-03-30 14:05:08 +0200 |
| commit | 666a3aa8dd7df6dd29ea7944482510048a8a7ba7 (patch) | |
| tree | bf1558b91b62f14b122aa4fa09d2d56f476b9205 /kernel/vmemitcodes.ml | |
| parent | f0c6a1de3eef85ab0787be7e87cb8509e8df43d5 (diff) | |
| parent | 7ff8b12c14867e43d54c3d4c8976a6179250893d (diff) | |
Merge PR #14005: Support OCaml primitives with an actual arity larger than 4.
Reviewed-by: ppedrot
Diffstat (limited to 'kernel/vmemitcodes.ml')
| -rw-r--r-- | kernel/vmemitcodes.ml | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/vmemitcodes.ml b/kernel/vmemitcodes.ml index caa263432e..44e933ef26 100644 --- a/kernel/vmemitcodes.ml +++ b/kernel/vmemitcodes.ml @@ -300,8 +300,11 @@ let emit_instr env = function out env opPOP; out_int env n | Kpush_retaddr lbl -> out env opPUSH_RETADDR; out_label env lbl + | Kshort_apply n -> + assert (1 <= n && n <= 4); + out env(opAPPLY1 + n - 1) | Kapply n -> - if n <= 4 then out env(opAPPLY1 + n - 1) else (out env opAPPLY; out_int env n) + out env opAPPLY; out_int env n | Kappterm(n, sz) -> if n < 4 then (out env(opAPPTERM1 + n - 1); out_int env sz) else (out env opAPPTERM; out_int env n; out_int env sz) |
