From d1a67574c6c683969e303d4d07428ca1d4c308bc Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Tue, 3 Aug 2010 18:59:26 -0700 Subject: Factor append_quad out of IL.emit_full, for use elsewhere. --- src/boot/be/il.ml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/boot/be/il.ml b/src/boot/be/il.ml index 24f2ae31..9661719d 100644 --- a/src/boot/be/il.ml +++ b/src/boot/be/il.ml @@ -828,6 +828,16 @@ let mk_quad (q':quad') : quad = quad_fixup = None } ;; +let append_quad + (e:emitter) + (q:quad) + : unit = + grow_if_necessary e; + e.emit_quads.(e.emit_pc) <- q; + e.emit_pc <- e.emit_pc + 1 +;; + + let emit_full (e:emitter) (fix:fixup option) @@ -835,11 +845,9 @@ let emit_full : unit = let fixup = ref fix in let emit_quad_bottom q' = - grow_if_necessary e; - e.emit_quads.(e.emit_pc) <- { quad_body = q'; - quad_fixup = (!fixup) }; + append_quad e { quad_body = q'; + quad_fixup = (!fixup) }; fixup := None; - e.emit_pc <- e.emit_pc + 1 in let emit_quad (q':quad') : unit = -- cgit v1.2.3