diff options
author | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2015-06-25 13:48:44 +0200 |
---|---|---|
committer | Maxime Dénès <mail@maximedenes.fr> | 2015-10-16 15:29:40 +0200 |
commit | 8cb3a606f7c72c32298fe028c9f98e44ea0d378b (patch) | |
tree | f87e690a5a01f4ce4c05bb1b9ee8bf13495d4581 /kernel/cemitcodes.ml | |
parent | 56925d60207f940ebb88d56981f8cdff41c58247 (diff) |
Hashcons bytecode generated by the VM.
Diffstat (limited to 'kernel/cemitcodes.ml')
-rw-r--r-- | kernel/cemitcodes.ml | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/cemitcodes.ml b/kernel/cemitcodes.ml index 37794b5ea..4e64ed697 100644 --- a/kernel/cemitcodes.ml +++ b/kernel/cemitcodes.ml @@ -374,6 +374,8 @@ let to_memory (init_code, fun_code, fv) = emit fun_code; let code = String.create !out_position in String.unsafe_blit !out_buffer 0 code 0 !out_position; + (** Later uses of this string are all purely functional *) + let code = CString.hcons code in let reloc = List.rev !reloc_info in Array.iter (fun lbl -> (match lbl with |