summaryrefslogtreecommitdiff
path: root/bytecomp/emitcode.mli
diff options
context:
space:
mode:
authorPierre Chambart <pierre.chambart@ocamlpro.com>2016-06-03 13:21:22 +0200
committerPierre Chambart <pierre.chambart@ocamlpro.com>2016-07-08 16:02:26 +0200
commit25d24e38c21a66bacaf955df02b3636ce9620245 (patch)
treeb5b4882a27b7e9fe65573a15b15c03352458eefd /bytecomp/emitcode.mli
parentc59e0ecb2f765a03b1a180e3affdc32a1d44a3b2 (diff)
downloadocaml-25d24e38c21a66bacaf955df02b3636ce9620245.tar.gz
Also remove linking hack for bytecode
Adds the required_globals information to bytecode compilation units. This patch also bootstrap ocamlc. The cmo format is changed by this commit, there is no way around bootstraping here. Note that ocamldep and ocamllex does not rely on the cmo format, so they are not present in this commit. Changes in tests: * Update test/transprim/comparison_table.ml.reference: The (opaque (global List!)) expression is not present anymore * Update tests/no-alias-deps/aliases.cmo.reference The output of objinfo changed
Diffstat (limited to 'bytecomp/emitcode.mli')
-rw-r--r--bytecomp/emitcode.mli5
1 files changed, 4 insertions, 1 deletions
diff --git a/bytecomp/emitcode.mli b/bytecomp/emitcode.mli
index f4716e03f7..74a785ee0f 100644
--- a/bytecomp/emitcode.mli
+++ b/bytecomp/emitcode.mli
@@ -18,11 +18,14 @@
open Cmo_format
open Instruct
-val to_file: out_channel -> string -> string -> instruction list -> unit
+val to_file: out_channel -> string -> string ->
+ required_globals:Ident.Set.t -> instruction list -> unit
(* Arguments:
channel on output file
name of compilation unit implemented
path of cmo file being written
+ required_globals: list of compilation units that must be
+ evaluated before this one
list of instructions to emit *)
val to_memory: instruction list -> instruction list ->
bytes * int * (reloc_info * int) list * debug_event list