summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.depend410
-rw-r--r--.gitignore6
-rw-r--r--Changes7
-rw-r--r--INSTALL.adoc4
-rwxr-xr-xMakefile.shared5
-rw-r--r--VERSION2
-rw-r--r--asmcomp/amd64/NOTES.md22
-rw-r--r--asmcomp/arm/NOTES.md21
-rw-r--r--asmcomp/arm64/NOTES.md12
-rw-r--r--asmcomp/asmgen.ml51
-rw-r--r--asmcomp/asmgen.mli2
-rw-r--r--asmcomp/asmlink.ml9
-rw-r--r--asmcomp/asmpackager.ml5
-rw-r--r--asmcomp/compilenv.ml10
-rw-r--r--asmcomp/compilenv.mli7
-rw-r--r--asmcomp/i386/NOTES.md27
-rw-r--r--asmcomp/power/NOTES.md27
-rw-r--r--asmcomp/s390x/NOTES.md19
-rw-r--r--asmcomp/sparc/NOTES.md21
-rw-r--r--asmrun/.depend2478
-rw-r--r--asmrun/Makefile76
-rw-r--r--asmrun/arm.S3
-rw-r--r--asmrun/arm64.S3
-rw-r--r--asmrun/power.S3
-rw-r--r--asmrun/roots.c79
-rw-r--r--asmrun/s390x.S3
-rw-r--r--asmrun/signals_asm.c8
-rw-r--r--asmrun/startup.c9
-rwxr-xr-xboot/ocamlcbin1927602 -> 1934064 bytes
-rwxr-xr-xboot/ocamldepbin597153 -> 601321 bytes
-rwxr-xr-xboot/ocamllexbin263308 -> 263446 bytes
-rw-r--r--bytecomp/debuginfo.ml (renamed from asmcomp/debuginfo.ml)0
-rw-r--r--bytecomp/debuginfo.mli (renamed from asmcomp/debuginfo.mli)0
-rw-r--r--bytecomp/lambda.ml2
-rw-r--r--bytecomp/lambda.mli1
-rw-r--r--bytecomp/printlambda.ml4
-rw-r--r--bytecomp/translattribute.ml25
-rw-r--r--bytecomp/translattribute.mli15
-rw-r--r--bytecomp/translcore.ml5
-rw-r--r--bytecomp/translmod.ml48
-rw-r--r--byterun/.depend1514
-rw-r--r--byterun/Makefile17
-rw-r--r--byterun/Makefile.common10
-rw-r--r--byterun/array.c11
-rw-r--r--byterun/caml/address_class.h1
-rw-r--r--byterun/caml/config.h19
-rw-r--r--byterun/caml/gc_ctrl.h12
-rw-r--r--byterun/caml/instrtrace.h1
-rw-r--r--byterun/caml/major_gc.h20
-rw-r--r--byterun/caml/memory.h30
-rw-r--r--byterun/caml/minor_gc.h18
-rw-r--r--byterun/caml/misc.h98
-rw-r--r--byterun/caml/mlvalues.h5
-rw-r--r--byterun/caml/roots.h6
-rw-r--r--byterun/caml/signals.h6
-rw-r--r--byterun/caml/startup_aux.h1
-rw-r--r--byterun/compact.c29
-rw-r--r--byterun/extern.c5
-rw-r--r--byterun/finalise.c56
-rw-r--r--byterun/freelist.c52
-rw-r--r--byterun/gc_ctrl.c152
-rw-r--r--byterun/instrtrace.c1
-rw-r--r--byterun/intern.c8
-rw-r--r--byterun/main.c21
-rw-r--r--byterun/major_gc.c359
-rw-r--r--byterun/memory.c114
-rw-r--r--byterun/minor_gc.c197
-rw-r--r--byterun/misc.c81
-rw-r--r--byterun/obj.c10
-rw-r--r--byterun/roots.c23
-rw-r--r--byterun/signals.c22
-rw-r--r--byterun/startup.c10
-rw-r--r--byterun/startup_aux.c3
-rw-r--r--byterun/sys.c6
-rw-r--r--byterun/weak.c6
-rw-r--r--config/auto-aux/mmap-huge.c49
-rwxr-xr-xconfigure18
-rw-r--r--debugger/.depend2
-rw-r--r--driver/compenv.ml2
-rw-r--r--driver/compile.ml19
-rw-r--r--driver/main.ml7
-rw-r--r--driver/main_args.ml7
-rw-r--r--driver/main_args.mli1
-rw-r--r--driver/optcompile.ml19
-rw-r--r--driver/optmain.ml7
-rw-r--r--driver/pparse.ml11
-rw-r--r--lex/.depend6
-rw-r--r--manual/manual/refman/expr.etex39
-rw-r--r--manual/manual/refman/exten.etex36
-rw-r--r--manual/manual/refman/modtypes.etex11
-rw-r--r--manual/manual/refman/patterns.etex8
-rw-r--r--manual/manual/refman/types.etex31
-rw-r--r--manual/manual/tutorials/lablexamples.etex10
-rw-r--r--manual/manual/tutorials/objectexamples.etex16
-rw-r--r--ocamlbuild/.depend50
-rw-r--r--ocamldoc/.depend26
-rw-r--r--otherlibs/bigarray/.depend43
-rw-r--r--otherlibs/graph/.depend186
-rw-r--r--otherlibs/num/.depend26
-rw-r--r--otherlibs/str/.depend14
-rw-r--r--otherlibs/systhreads/.depend26
-rw-r--r--otherlibs/threads/.depend26
-rw-r--r--otherlibs/unix/.depend1100
-rw-r--r--stdlib/.depend40
-rw-r--r--stdlib/Makefile14
-rw-r--r--stdlib/Makefile.nt6
-rwxr-xr-xstdlib/Makefile.shared31
-rw-r--r--stdlib/gc.ml32
-rw-r--r--stdlib/gc.mli35
-rw-r--r--stdlib/obj.ml6
-rw-r--r--stdlib/sys.mli11
-rw-r--r--stdlib/sys.mlp2
-rw-r--r--testsuite/tests/asmcomp/main.ml2
-rw-r--r--testsuite/tests/typing-gadts/pr5948.ml.reference3
-rw-r--r--testsuite/tests/typing-misc/pr7103.ml14
-rw-r--r--testsuite/tests/typing-misc/pr7103.ml.reference25
-rw-r--r--testsuite/tests/warnings/w53.ml16
-rw-r--r--testsuite/tests/warnings/w53.reference8
-rw-r--r--tools/.depend12
-rw-r--r--tools/Makefile.shared7
-rwxr-xr-xtools/ocaml-instr-graph109
-rwxr-xr-xtools/ocaml-instr-report159
-rw-r--r--tools/ocamlcp.ml1
-rw-r--r--tools/ocamloptp.ml1
-rw-r--r--toplevel/topmain.ml1
-rw-r--r--typing/printtyp.ml4
-rw-r--r--utils/clflags.ml1
-rw-r--r--utils/clflags.mli1
-rw-r--r--utils/timings.ml139
-rw-r--r--utils/timings.mli58
130 files changed, 5815 insertions, 3072 deletions
diff --git a/.depend b/.depend
index 15c48c833c..f976ce1ee3 100644
--- a/.depend
+++ b/.depend
@@ -5,6 +5,7 @@ utils/consistbl.cmi :
utils/misc.cmi : utils/clflags.cmi
utils/tbl.cmi :
utils/terminfo.cmi :
+utils/timings.cmi :
utils/warnings.cmi :
utils/ccomp.cmo : utils/misc.cmi utils/config.cmi utils/clflags.cmi \
utils/ccomp.cmi
@@ -22,6 +23,8 @@ utils/tbl.cmo : utils/tbl.cmi
utils/tbl.cmx : utils/tbl.cmi
utils/terminfo.cmo : utils/terminfo.cmi
utils/terminfo.cmx : utils/terminfo.cmi
+utils/timings.cmo : utils/timings.cmi
+utils/timings.cmx : utils/timings.cmi
utils/warnings.cmo : utils/warnings.cmi
utils/warnings.cmx : utils/warnings.cmi
parsing/ast_helper.cmi : parsing/parsetree.cmi parsing/longident.cmi \
@@ -119,10 +122,10 @@ typing/cmt_format.cmi : typing/types.cmi typing/typedtree.cmi \
typing/ctype.cmi : typing/types.cmi typing/path.cmi parsing/longident.cmi \
typing/ident.cmi typing/env.cmi parsing/asttypes.cmi
typing/datarepr.cmi : typing/types.cmi typing/path.cmi typing/ident.cmi
+typing/envaux.cmi : typing/subst.cmi typing/path.cmi typing/env.cmi
typing/env.cmi : utils/warnings.cmi typing/types.cmi typing/subst.cmi \
typing/path.cmi parsing/longident.cmi parsing/location.cmi \
typing/ident.cmi utils/consistbl.cmi parsing/asttypes.cmi
-typing/envaux.cmi : typing/subst.cmi typing/path.cmi typing/env.cmi
typing/ident.cmi :
typing/includeclass.cmi : typing/types.cmi typing/env.cmi typing/ctype.cmi
typing/includecore.cmi : typing/types.cmi typing/typedtree.cmi \
@@ -141,10 +144,10 @@ typing/path.cmi : typing/ident.cmi
typing/predef.cmi : typing/types.cmi typing/path.cmi typing/ident.cmi
typing/primitive.cmi : parsing/parsetree.cmi typing/outcometree.cmi \
parsing/location.cmi
+typing/printtyped.cmi : typing/typedtree.cmi
typing/printtyp.cmi : typing/types.cmi typing/path.cmi \
typing/outcometree.cmi parsing/longident.cmi typing/ident.cmi \
typing/env.cmi parsing/asttypes.cmi
-typing/printtyped.cmi : typing/typedtree.cmi
typing/stypes.cmi : typing/typedtree.cmi parsing/location.cmi \
typing/annot.cmi
typing/subst.cmi : typing/types.cmi typing/path.cmi typing/ident.cmi
@@ -160,11 +163,11 @@ typing/typedecl.cmi : typing/types.cmi typing/typedtree.cmi typing/path.cmi \
parsing/parsetree.cmi parsing/longident.cmi parsing/location.cmi \
typing/includecore.cmi typing/ident.cmi typing/env.cmi \
parsing/asttypes.cmi
+typing/typedtreeIter.cmi : typing/typedtree.cmi parsing/asttypes.cmi
+typing/typedtreeMap.cmi : typing/typedtree.cmi
typing/typedtree.cmi : typing/types.cmi typing/primitive.cmi typing/path.cmi \
parsing/parsetree.cmi parsing/longident.cmi parsing/location.cmi \
typing/ident.cmi typing/env.cmi parsing/asttypes.cmi
-typing/typedtreeIter.cmi : typing/typedtree.cmi parsing/asttypes.cmi
-typing/typedtreeMap.cmi : typing/typedtree.cmi
typing/typemod.cmi : typing/types.cmi typing/typedtree.cmi typing/path.cmi \
parsing/parsetree.cmi parsing/longident.cmi parsing/location.cmi \
typing/includemod.cmi typing/ident.cmi typing/env.cmi \
@@ -208,6 +211,12 @@ typing/datarepr.cmo : typing/types.cmi typing/path.cmi parsing/location.cmi \
typing/datarepr.cmx : typing/types.cmx typing/path.cmx parsing/location.cmx \
typing/ident.cmx typing/btype.cmx parsing/asttypes.cmi \
typing/datarepr.cmi
+typing/envaux.cmo : typing/types.cmi typing/subst.cmi typing/printtyp.cmi \
+ typing/path.cmi utils/misc.cmi typing/ident.cmi typing/env.cmi \
+ parsing/asttypes.cmi typing/envaux.cmi
+typing/envaux.cmx : typing/types.cmx typing/subst.cmx typing/printtyp.cmx \
+ typing/path.cmx utils/misc.cmx typing/ident.cmx typing/env.cmx \
+ parsing/asttypes.cmi typing/envaux.cmi
typing/env.cmo : utils/warnings.cmi typing/types.cmi utils/tbl.cmi \
typing/subst.cmi typing/predef.cmi typing/path.cmi utils/misc.cmi \
parsing/longident.cmi parsing/location.cmi typing/ident.cmi \
@@ -220,12 +229,6 @@ typing/env.cmx : utils/warnings.cmx typing/types.cmx utils/tbl.cmx \
typing/datarepr.cmx utils/consistbl.cmx utils/config.cmx \
typing/cmi_format.cmx utils/clflags.cmx parsing/builtin_attributes.cmx \
typing/btype.cmx parsing/asttypes.cmi typing/env.cmi
-typing/envaux.cmo : typing/types.cmi typing/subst.cmi typing/printtyp.cmi \
- typing/path.cmi utils/misc.cmi typing/ident.cmi typing/env.cmi \
- parsing/asttypes.cmi typing/envaux.cmi
-typing/envaux.cmx : typing/types.cmx typing/subst.cmx typing/printtyp.cmx \
- typing/path.cmx utils/misc.cmx typing/ident.cmx typing/env.cmx \
- parsing/asttypes.cmi typing/envaux.cmi
typing/ident.cmo : typing/ident.cmi
typing/ident.cmx : typing/ident.cmi
typing/includeclass.cmo : typing/types.cmi typing/printtyp.cmi \
@@ -265,17 +268,17 @@ typing/oprint.cmo : typing/outcometree.cmi parsing/asttypes.cmi \
typing/oprint.cmx : typing/outcometree.cmi parsing/asttypes.cmi \
typing/oprint.cmi
typing/parmatch.cmo : utils/warnings.cmi typing/untypeast.cmi \
- typing/types.cmi typing/typedtree.cmi typing/subst.cmi typing/predef.cmi \
- typing/path.cmi parsing/parsetree.cmi utils/misc.cmi \
- parsing/longident.cmi parsing/location.cmi typing/ident.cmi \
- typing/env.cmi typing/ctype.cmi typing/btype.cmi parsing/asttypes.cmi \
- parsing/ast_helper.cmi typing/parmatch.cmi
+ typing/types.cmi typing/typedtreeIter.cmi typing/typedtree.cmi \
+ typing/subst.cmi typing/predef.cmi typing/path.cmi parsing/parsetree.cmi \
+ utils/misc.cmi parsing/longident.cmi parsing/location.cmi \
+ typing/ident.cmi typing/env.cmi typing/ctype.cmi typing/btype.cmi \
+ parsing/asttypes.cmi parsing/ast_helper.cmi typing/parmatch.cmi
typing/parmatch.cmx : utils/warnings.cmx typing/untypeast.cmx \
- typing/types.cmx typing/typedtree.cmx typing/subst.cmx typing/predef.cmx \
- typing/path.cmx parsing/parsetree.cmi utils/misc.cmx \
- parsing/longident.cmx parsing/location.cmx typing/ident.cmx \
- typing/env.cmx typing/ctype.cmx typing/btype.cmx parsing/asttypes.cmi \
- parsing/ast_helper.cmx typing/parmatch.cmi
+ typing/types.cmx typing/typedtreeIter.cmx typing/typedtree.cmx \
+ typing/subst.cmx typing/predef.cmx typing/path.cmx parsing/parsetree.cmi \
+ utils/misc.cmx parsing/longident.cmx parsing/location.cmx \
+ typing/ident.cmx typing/env.cmx typing/ctype.cmx typing/btype.cmx \
+ parsing/asttypes.cmi parsing/ast_helper.cmx typing/parmatch.cmi
typing/path.cmo : typing/ident.cmi typing/path.cmi
typing/path.cmx : typing/ident.cmx typing/path.cmi
typing/predef.cmo : typing/types.cmi typing/path.cmi parsing/parsetree.cmi \
@@ -290,6 +293,12 @@ typing/primitive.cmo : utils/warnings.cmi parsing/parsetree.cmi \
typing/primitive.cmx : utils/warnings.cmx parsing/parsetree.cmi \
typing/outcometree.cmi utils/misc.cmx parsing/location.cmx \
parsing/attr_helper.cmx typing/primitive.cmi
+typing/printtyped.cmo : typing/typedtree.cmi parsing/printast.cmi \
+ typing/path.cmi utils/misc.cmi parsing/longident.cmi parsing/location.cmi \
+ typing/ident.cmi parsing/asttypes.cmi typing/printtyped.cmi
+typing/printtyped.cmx : typing/typedtree.cmx parsing/printast.cmx \
+ typing/path.cmx utils/misc.cmx parsing/longident.cmx parsing/location.cmx \
+ typing/ident.cmx parsing/asttypes.cmi typing/printtyped.cmi
typing/printtyp.cmo : typing/types.cmi typing/primitive.cmi \
typing/predef.cmi typing/path.cmi parsing/parsetree.cmi \
typing/outcometree.cmi typing/oprint.cmi utils/misc.cmi \
@@ -302,12 +311,6 @@ typing/printtyp.cmx : typing/types.cmx typing/primitive.cmx \
parsing/longident.cmx parsing/location.cmx typing/ident.cmx \
typing/env.cmx typing/ctype.cmx utils/clflags.cmx typing/btype.cmx \
parsing/asttypes.cmi typing/printtyp.cmi
-typing/printtyped.cmo : typing/typedtree.cmi parsing/printast.cmi \
- typing/path.cmi utils/misc.cmi parsing/longident.cmi parsing/location.cmi \
- typing/ident.cmi parsing/asttypes.cmi typing/printtyped.cmi
-typing/printtyped.cmx : typing/typedtree.cmx parsing/printast.cmx \
- typing/path.cmx utils/misc.cmx parsing/longident.cmx parsing/location.cmx \
- typing/ident.cmx parsing/asttypes.cmi typing/printtyped.cmi
typing/stypes.cmo : typing/typedtree.cmi typing/printtyp.cmi \
parsing/location.cmi utils/clflags.cmi typing/annot.cmi typing/stypes.cmi
typing/stypes.cmx : typing/typedtree.cmx typing/printtyp.cmx \
@@ -376,14 +379,6 @@ typing/typedecl.cmx : utils/warnings.cmx typing/typetexp.cmx \
typing/ident.cmx typing/env.cmx typing/ctype.cmx utils/config.cmx \
utils/clflags.cmx typing/btype.cmx parsing/attr_helper.cmx \
parsing/asttypes.cmi parsing/ast_helper.cmx typing/typedecl.cmi
-typing/typedtree.cmo : typing/types.cmi typing/primitive.cmi typing/path.cmi \
- parsing/parsetree.cmi utils/misc.cmi parsing/longident.cmi \
- parsing/location.cmi typing/ident.cmi typing/env.cmi parsing/asttypes.cmi \
- typing/typedtree.cmi
-typing/typedtree.cmx : typing/types.cmx typing/primitive.cmx typing/path.cmx \
- parsing/parsetree.cmi utils/misc.cmx parsing/longident.cmx \
- parsing/location.cmx typing/ident.cmx typing/env.cmx parsing/asttypes.cmi \
- typing/typedtree.cmi
typing/typedtreeIter.cmo : typing/typedtree.cmi utils/misc.cmi \
parsing/asttypes.cmi typing/typedtreeIter.cmi
typing/typedtreeIter.cmx : typing/typedtree.cmx utils/misc.cmx \
@@ -392,6 +387,14 @@ typing/typedtreeMap.cmo : typing/typedtree.cmi utils/misc.cmi \
typing/typedtreeMap.cmi
typing/typedtreeMap.cmx : typing/typedtree.cmx utils/misc.cmx \
typing/typedtreeMap.cmi
+typing/typedtree.cmo : typing/types.cmi typing/primitive.cmi typing/path.cmi \
+ parsing/parsetree.cmi utils/misc.cmi parsing/longident.cmi \
+ parsing/location.cmi typing/ident.cmi typing/env.cmi parsing/asttypes.cmi \
+ typing/typedtree.cmi
+typing/typedtree.cmx : typing/types.cmx typing/primitive.cmx typing/path.cmx \
+ parsing/parsetree.cmi utils/misc.cmx parsing/longident.cmx \
+ parsing/location.cmx typing/ident.cmx typing/env.cmx parsing/asttypes.cmi \
+ typing/typedtree.cmi
typing/typemod.cmo : utils/warnings.cmi typing/typetexp.cmi typing/types.cmi \
typing/typedtree.cmi typing/typedecl.cmi typing/typecore.cmi \
typing/typeclass.cmi typing/subst.cmi typing/stypes.cmi \
@@ -446,6 +449,7 @@ bytecomp/bytelink.cmi : bytecomp/symtable.cmi bytecomp/cmo_format.cmi
bytecomp/bytepackager.cmi : typing/ident.cmi typing/env.cmi
bytecomp/bytesections.cmi :
bytecomp/cmo_format.cmi : bytecomp/lambda.cmi typing/ident.cmi
+bytecomp/debuginfo.cmi : parsing/location.cmi bytecomp/lambda.cmi
bytecomp/dll.cmi :
bytecomp/emitcode.cmi : bytecomp/instruct.cmi bytecomp/cmo_format.cmi
bytecomp/instruct.cmi : typing/types.cmi typing/subst.cmi \
@@ -514,6 +518,10 @@ bytecomp/bytepackager.cmx : typing/typemod.cmx bytecomp/translmod.cmx \
bytecomp/bytegen.cmx bytecomp/bytepackager.cmi
bytecomp/bytesections.cmo : utils/config.cmi bytecomp/bytesections.cmi
bytecomp/bytesections.cmx : utils/config.cmx bytecomp/bytesections.cmi
+bytecomp/debuginfo.cmo : parsing/location.cmi bytecomp/lambda.cmi \
+ bytecomp/debuginfo.cmi
+bytecomp/debuginfo.cmx : parsing/location.cmx bytecomp/lambda.cmx \
+ bytecomp/debuginfo.cmi
bytecomp/dll.cmo : utils/misc.cmi utils/config.cmi bytecomp/dll.cmi
bytecomp/dll.cmx : utils/misc.cmx utils/config.cmx bytecomp/dll.cmi
bytecomp/emitcode.cmo : bytecomp/translmod.cmi typing/primitive.cmi \
@@ -622,16 +630,18 @@ bytecomp/translcore.cmx : typing/types.cmx bytecomp/typeopt.cmx \
typing/btype.cmx parsing/asttypes.cmi bytecomp/translcore.cmi
bytecomp/translmod.cmo : typing/types.cmi typing/typedtree.cmi \
bytecomp/translobj.cmi bytecomp/translcore.cmi bytecomp/translclass.cmi \
- typing/printtyp.cmi typing/primitive.cmi typing/predef.cmi \
- typing/path.cmi typing/mtype.cmi utils/misc.cmi parsing/longident.cmi \
- parsing/location.cmi bytecomp/lambda.cmi typing/ident.cmi typing/env.cmi \
- typing/ctype.cmi parsing/asttypes.cmi bytecomp/translmod.cmi
+ bytecomp/translattribute.cmi typing/printtyp.cmi typing/primitive.cmi \
+ typing/predef.cmi typing/path.cmi typing/mtype.cmi utils/misc.cmi \
+ parsing/longident.cmi parsing/location.cmi bytecomp/lambda.cmi \
+ typing/ident.cmi typing/env.cmi typing/ctype.cmi utils/clflags.cmi \
+ parsing/asttypes.cmi bytecomp/translmod.cmi
bytecomp/translmod.cmx : typing/types.cmx typing/typedtree.cmx \
bytecomp/translobj.cmx bytecomp/translcore.cmx bytecomp/translclass.cmx \
- typing/printtyp.cmx typing/primitive.cmx typing/predef.cmx \
- typing/path.cmx typing/mtype.cmx utils/misc.cmx parsing/longident.cmx \
- parsing/location.cmx bytecomp/lambda.cmx typing/ident.cmx typing/env.cmx \
- typing/ctype.cmx parsing/asttypes.cmi bytecomp/translmod.cmi
+ bytecomp/translattribute.cmx typing/printtyp.cmx typing/primitive.cmx \
+ typing/predef.cmx typing/path.cmx typing/mtype.cmx utils/misc.cmx \
+ parsing/longident.cmx parsing/location.cmx bytecomp/lambda.cmx \
+ typing/ident.cmx typing/env.cmx typing/ctype.cmx utils/clflags.cmx \
+ parsing/asttypes.cmi bytecomp/translmod.cmi
bytecomp/translobj.cmo : typing/primitive.cmi utils/misc.cmi \
parsing/longident.cmi bytecomp/lambda.cmi typing/ident.cmi typing/env.cmi \
utils/clflags.cmi typing/btype.cmi parsing/asttypes.cmi \
@@ -642,11 +652,10 @@ bytecomp/translobj.cmx : typing/primitive.cmx utils/misc.cmx \
bytecomp/translobj.cmi
bytecomp/typeopt.cmo : typing/types.cmi typing/typedtree.cmi \
typing/predef.cmi typing/path.cmi bytecomp/lambda.cmi typing/ident.cmi \
- typing/env.cmi typing/ctype.cmi bytecomp/typeopt.cmi
+ typing/env.cmi typing/ctype.cmi typing/btype.cmi bytecomp/typeopt.cmi
bytecomp/typeopt.cmx : typing/types.cmx typing/typedtree.cmx \
typing/predef.cmx typing/path.cmx bytecomp/lambda.cmx typing/ident.cmx \
- typing/env.cmx typing/ctype.cmx bytecomp/typeopt.cmi
-asmcomp/CSEgen.cmi : asmcomp/mach.cmi
+ typing/env.cmx typing/ctype.cmx typing/btype.cmx bytecomp/typeopt.cmi
asmcomp/asmgen.cmi : bytecomp/lambda.cmi asmcomp/cmm.cmi
asmcomp/asmlibrarian.cmi :
asmcomp/asmlink.cmi : asmcomp/cmx_format.cmi
@@ -654,38 +663,39 @@ asmcomp/asmpackager.cmi : typing/env.cmi
asmcomp/branch_relaxation.cmi : asmcomp/linearize.cmi \
asmcomp/branch_relaxation_intf.cmo
asmcomp/clambda.cmi : bytecomp/lambda.cmi typing/ident.cmi \
- asmcomp/debuginfo.cmi parsing/asttypes.cmi
+ bytecomp/debuginfo.cmi parsing/asttypes.cmi
asmcomp/closure.cmi : bytecomp/lambda.cmi asmcomp/clambda.cmi
-asmcomp/cmm.cmi : bytecomp/lambda.cmi typing/ident.cmi asmcomp/debuginfo.cmi
asmcomp/cmmgen.cmi : asmcomp/cmx_format.cmi asmcomp/cmm.cmi \
asmcomp/clambda.cmi
+asmcomp/cmm.cmi : bytecomp/lambda.cmi typing/ident.cmi \
+ bytecomp/debuginfo.cmi
asmcomp/cmx_format.cmi : asmcomp/clambda.cmi
asmcomp/coloring.cmi :
asmcomp/comballoc.cmi : asmcomp/mach.cmi
-asmcomp/compilenv.cmi : typing/ident.cmi asmcomp/cmx_format.cmi \
- asmcomp/clambda.cmi
+asmcomp/compilenv.cmi : utils/timings.cmi typing/ident.cmi \
+ asmcomp/cmx_format.cmi asmcomp/clambda.cmi
+asmcomp/CSEgen.cmi : asmcomp/mach.cmi
asmcomp/deadcode.cmi : asmcomp/mach.cmi
-asmcomp/debuginfo.cmi : parsing/location.cmi bytecomp/lambda.cmi
+asmcomp/emitaux.cmi : bytecomp/debuginfo.cmi
asmcomp/emit.cmi : asmcomp/linearize.cmi asmcomp/cmm.cmi
-asmcomp/emitaux.cmi : asmcomp/debuginfo.cmi
asmcomp/interf.cmi : asmcomp/mach.cmi
asmcomp/linearize.cmi : asmcomp/reg.cmi asmcomp/mach.cmi bytecomp/lambda.cmi \
- asmcomp/debuginfo.cmi
+ bytecomp/debuginfo.cmi
asmcomp/liveness.cmi : asmcomp/mach.cmi
-asmcomp/mach.cmi : asmcomp/reg.cmi bytecomp/lambda.cmi asmcomp/debuginfo.cmi \
- asmcomp/cmm.cmi asmcomp/arch.cmo
+asmcomp/mach.cmi : asmcomp/reg.cmi bytecomp/lambda.cmi \
+ bytecomp/debuginfo.cmi asmcomp/cmm.cmi asmcomp/arch.cmo
asmcomp/printclambda.cmi : asmcomp/clambda.cmi
asmcomp/printcmm.cmi : asmcomp/cmm.cmi
asmcomp/printlinear.cmi : asmcomp/linearize.cmi
asmcomp/printmach.cmi : asmcomp/reg.cmi asmcomp/mach.cmi
asmcomp/proc.cmi : asmcomp/reg.cmi asmcomp/mach.cmi
asmcomp/reg.cmi : typing/ident.cmi asmcomp/cmm.cmi
-asmcomp/reload.cmi : asmcomp/mach.cmi
asmcomp/reloadgen.cmi : asmcomp/reg.cmi asmcomp/mach.cmi
+asmcomp/reload.cmi : asmcomp/mach.cmi
asmcomp/schedgen.cmi : asmcomp/mach.cmi asmcomp/linearize.cmi
asmcomp/scheduling.cmi : asmcomp/linearize.cmi
asmcomp/selectgen.cmi : utils/tbl.cmi asmcomp/reg.cmi asmcomp/mach.cmi \
- typing/ident.cmi asmcomp/debuginfo.cmi asmcomp/cmm.cmi asmcomp/arch.cmo
+ typing/ident.cmi bytecomp/debuginfo.cmi asmcomp/cmm.cmi asmcomp/arch.cmo
asmcomp/selection.cmi : asmcomp/mach.cmi asmcomp/cmm.cmi
asmcomp/spill.cmi : asmcomp/mach.cmi
asmcomp/split.cmi : asmcomp/mach.cmi
@@ -695,34 +705,30 @@ asmcomp/x86_dsl.cmi : asmcomp/x86_ast.cmi
asmcomp/x86_gas.cmi : asmcomp/x86_ast.cmi
asmcomp/x86_masm.cmi : asmcomp/x86_ast.cmi
asmcomp/x86_proc.cmi : asmcomp/x86_ast.cmi
-asmcomp/CSE.cmo : asmcomp/mach.cmi asmcomp/CSEgen.cmi asmcomp/arch.cmo
-asmcomp/CSE.cmx : asmcomp/mach.cmx asmcomp/CSEgen.cmx asmcomp/arch.cmx
-asmcomp/CSEgen.cmo : asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/mach.cmi \
- asmcomp/cmm.cmi asmcomp/CSEgen.cmi
-asmcomp/CSEgen.cmx : asmcomp/reg.cmx asmcomp/proc.cmx asmcomp/mach.cmx \
- asmcomp/cmm.cmx asmcomp/CSEgen.cmi
asmcomp/arch.cmo : utils/clflags.cmi
asmcomp/arch.cmx : utils/clflags.cmx
-asmcomp/asmgen.cmo : bytecomp/translmod.cmi asmcomp/split.cmi \
- asmcomp/spill.cmi asmcomp/selection.cmi asmcomp/scheduling.cmi \
- asmcomp/reload.cmi asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/printmach.cmi \
- asmcomp/printlinear.cmi asmcomp/printcmm.cmi asmcomp/printclambda.cmi \
- typing/primitive.cmi utils/misc.cmi asmcomp/mach.cmi parsing/location.cmi \
- asmcomp/liveness.cmi asmcomp/linearize.cmi asmcomp/interf.cmi \
- asmcomp/emitaux.cmi asmcomp/emit.cmi asmcomp/deadcode.cmi \
- utils/config.cmi asmcomp/compilenv.cmi asmcomp/comballoc.cmi \
- asmcomp/coloring.cmi asmcomp/cmmgen.cmi asmcomp/cmm.cmi \
- asmcomp/closure.cmi utils/clflags.cmi asmcomp/CSE.cmo asmcomp/asmgen.cmi
-asmcomp/asmgen.cmx : bytecomp/translmod.cmx asmcomp/split.cmx \
- asmcomp/spill.cmx asmcomp/selection.cmx asmcomp/scheduling.cmx \
- asmcomp/reload.cmx asmcomp/reg.cmx asmcomp/proc.cmx asmcomp/printmach.cmx \
- asmcomp/printlinear.cmx asmcomp/printcmm.cmx asmcomp/printclambda.cmx \
- typing/primitive.cmx utils/misc.cmx asmcomp/mach.cmx parsing/location.cmx \
- asmcomp/liveness.cmx asmcomp/linearize.cmx asmcomp/interf.cmx \
- asmcomp/emitaux.cmx asmcomp/emit.cmx asmcomp/deadcode.cmx \
- utils/config.cmx asmcomp/compilenv.cmx asmcomp/comballoc.cmx \
- asmcomp/coloring.cmx asmcomp/cmmgen.cmx asmcomp/cmm.cmx \
- asmcomp/closure.cmx utils/clflags.cmx asmcomp/CSE.cmx asmcomp/asmgen.cmi
+asmcomp/asmgen.cmo : bytecomp/translmod.cmi utils/timings.cmi \
+ asmcomp/split.cmi asmcomp/spill.cmi asmcomp/selection.cmi \
+ asmcomp/scheduling.cmi asmcomp/reload.cmi asmcomp/reg.cmi \
+ asmcomp/proc.cmi asmcomp/printmach.cmi asmcomp/printlinear.cmi \
+ asmcomp/printcmm.cmi asmcomp/printclambda.cmi typing/primitive.cmi \
+ utils/misc.cmi asmcomp/mach.cmi parsing/location.cmi asmcomp/liveness.cmi \
+ asmcomp/linearize.cmi asmcomp/interf.cmi asmcomp/emitaux.cmi \
+ asmcomp/emit.cmi asmcomp/deadcode.cmi utils/config.cmi \
+ asmcomp/compilenv.cmi asmcomp/comballoc.cmi asmcomp/coloring.cmi \
+ asmcomp/cmmgen.cmi asmcomp/cmm.cmi asmcomp/closure.cmi utils/clflags.cmi \
+ asmcomp/CSE.cmo asmcomp/asmgen.cmi
+asmcomp/asmgen.cmx : bytecomp/translmod.cmx utils/timings.cmx \
+ asmcomp/split.cmx asmcomp/spill.cmx asmcomp/selection.cmx \
+ asmcomp/scheduling.cmx asmcomp/reload.cmx asmcomp/reg.cmx \
+ asmcomp/proc.cmx asmcomp/printmach.cmx asmcomp/printlinear.cmx \
+ asmcomp/printcmm.cmx asmcomp/printclambda.cmx typing/primitive.cmx \
+ utils/misc.cmx asmcomp/mach.cmx parsing/location.cmx asmcomp/liveness.cmx \
+ asmcomp/linearize.cmx asmcomp/interf.cmx asmcomp/emitaux.cmx \
+ asmcomp/emit.cmx asmcomp/deadcode.cmx utils/config.cmx \
+ asmcomp/compilenv.cmx asmcomp/comballoc.cmx asmcomp/coloring.cmx \
+ asmcomp/cmmgen.cmx asmcomp/cmm.cmx asmcomp/closure.cmx utils/clflags.cmx \
+ asmcomp/CSE.cmx asmcomp/asmgen.cmi
asmcomp/asmlibrarian.cmo : utils/misc.cmi parsing/location.cmi \
utils/config.cmi asmcomp/compilenv.cmi asmcomp/cmx_format.cmi \
utils/clflags.cmi asmcomp/clambda.cmi utils/ccomp.cmi asmcomp/asmlink.cmi \
@@ -731,64 +737,64 @@ asmcomp/asmlibrarian.cmx : utils/misc.cmx parsing/location.cmx \
utils/config.cmx asmcomp/compilenv.cmx asmcomp/cmx_format.cmi \
utils/clflags.cmx asmcomp/clambda.cmx utils/ccomp.cmx asmcomp/asmlink.cmx \
asmcomp/asmlibrarian.cmi
-asmcomp/asmlink.cmo : bytecomp/runtimedef.cmi utils/misc.cmi \
- parsing/location.cmi asmcomp/emitaux.cmi asmcomp/emit.cmi \
+asmcomp/asmlink.cmo : utils/timings.cmi bytecomp/runtimedef.cmi \
+ utils/misc.cmi parsing/location.cmi asmcomp/emitaux.cmi asmcomp/emit.cmi \
utils/consistbl.cmi utils/config.cmi asmcomp/compilenv.cmi \
asmcomp/cmx_format.cmi asmcomp/cmmgen.cmi utils/clflags.cmi \
utils/ccomp.cmi asmcomp/asmgen.cmi asmcomp/asmlink.cmi
-asmcomp/asmlink.cmx : bytecomp/runtimedef.cmx utils/misc.cmx \
- parsing/location.cmx asmcomp/emitaux.cmx asmcomp/emit.cmx \
+asmcomp/asmlink.cmx : utils/timings.cmx bytecomp/runtimedef.cmx \
+ utils/misc.cmx parsing/location.cmx asmcomp/emitaux.cmx asmcomp/emit.cmx \
utils/consistbl.cmx utils/config.cmx asmcomp/compilenv.cmx \
asmcomp/cmx_format.cmi asmcomp/cmmgen.cmx utils/clflags.cmx \
utils/ccomp.cmx asmcomp/asmgen.cmx asmcomp/asmlink.cmi
asmcomp/asmpackager.cmo : typing/typemod.cmi bytecomp/translmod.cmi \
- utils/misc.cmi parsing/location.cmi typing/ident.cmi typing/env.cmi \
- utils/config.cmi asmcomp/compilenv.cmi asmcomp/cmx_format.cmi \
- utils/clflags.cmi utils/ccomp.cmi asmcomp/asmlink.cmi asmcomp/asmgen.cmi \
- asmcomp/asmpackager.cmi
+ utils/timings.cmi utils/misc.cmi parsing/location.cmi typing/ident.cmi \
+ typing/env.cmi utils/config.cmi asmcomp/compilenv.cmi \
+ asmcomp/cmx_format.cmi utils/clflags.cmi utils/ccomp.cmi \
+ asmcomp/asmlink.cmi asmcomp/asmgen.cmi asmcomp/asmpackager.cmi
asmcomp/asmpackager.cmx : typing/typemod.cmx bytecomp/translmod.cmx \
- utils/misc.cmx parsing/location.cmx typing/ident.cmx typing/env.cmx \
- utils/config.cmx asmcomp/compilenv.cmx asmcomp/cmx_format.cmi \
- utils/clflags.cmx utils/ccomp.cmx asmcomp/asmlink.cmx asmcomp/asmgen.cmx \
- asmcomp/asmpackager.cmi
+ utils/timings.cmx utils/misc.cmx parsing/location.cmx typing/ident.cmx \
+ typing/env.cmx utils/config.cmx asmcomp/compilenv.cmx \
+ asmcomp/cmx_format.cmi utils/clflags.cmx utils/ccomp.cmx \
+ asmcomp/asmlink.cmx asmcomp/asmgen.cmx asmcomp/asmpackager.cmi
+asmcomp/branch_relaxation_intf.cmo : asmcomp/linearize.cmi asmcomp/arch.cmo
+asmcomp/branch_relaxation_intf.cmx : asmcomp/linearize.cmx asmcomp/arch.cmx
asmcomp/branch_relaxation.cmo : utils/misc.cmi asmcomp/mach.cmi \
asmcomp/linearize.cmi asmcomp/cmm.cmi asmcomp/branch_relaxation_intf.cmo \
asmcomp/branch_relaxation.cmi
asmcomp/branch_relaxation.cmx : utils/misc.cmx asmcomp/mach.cmx \
asmcomp/linearize.cmx asmcomp/cmm.cmx asmcomp/branch_relaxation_intf.cmx \
asmcomp/branch_relaxation.cmi
-asmcomp/branch_relaxation_intf.cmo : asmcomp/linearize.cmi asmcomp/arch.cmo
-asmcomp/branch_relaxation_intf.cmx : asmcomp/linearize.cmx asmcomp/arch.cmx
asmcomp/clambda.cmo : bytecomp/lambda.cmi typing/ident.cmi \
- asmcomp/debuginfo.cmi parsing/asttypes.cmi asmcomp/clambda.cmi
+ bytecomp/debuginfo.cmi parsing/asttypes.cmi asmcomp/clambda.cmi
asmcomp/clambda.cmx : bytecomp/lambda.cmx typing/ident.cmx \
- asmcomp/debuginfo.cmx parsing/asttypes.cmi asmcomp/clambda.cmi
+ bytecomp/debuginfo.cmx parsing/asttypes.cmi asmcomp/clambda.cmi
asmcomp/closure.cmo : utils/warnings.cmi utils/tbl.cmi bytecomp/switch.cmi \
typing/primitive.cmi utils/misc.cmi parsing/location.cmi \
- bytecomp/lambda.cmi typing/ident.cmi asmcomp/debuginfo.cmi \
+ bytecomp/lambda.cmi typing/ident.cmi bytecomp/debuginfo.cmi \
asmcomp/compilenv.cmi utils/clflags.cmi asmcomp/clambda.cmi \
parsing/asttypes.cmi asmcomp/arch.cmo asmcomp/closure.cmi
asmcomp/closure.cmx : utils/warnings.cmx utils/tbl.cmx bytecomp/switch.cmx \
typing/primitive.cmx utils/misc.cmx parsing/location.cmx \
- bytecomp/lambda.cmx typing/ident.cmx asmcomp/debuginfo.cmx \
+ bytecomp/lambda.cmx typing/ident.cmx bytecomp/debuginfo.cmx \
asmcomp/compilenv.cmx utils/clflags.cmx asmcomp/clambda.cmx \
parsing/asttypes.cmi asmcomp/arch.cmx asmcomp/closure.cmi
-asmcomp/cmm.cmo : bytecomp/lambda.cmi typing/ident.cmi asmcomp/debuginfo.cmi \
- asmcomp/arch.cmo asmcomp/cmm.cmi
-asmcomp/cmm.cmx : bytecomp/lambda.cmx typing/ident.cmx asmcomp/debuginfo.cmx \
- asmcomp/arch.cmx asmcomp/cmm.cmi
asmcomp/cmmgen.cmo : typing/types.cmi bytecomp/switch.cmi \
asmcomp/strmatch.cmi asmcomp/proc.cmi typing/primitive.cmi utils/misc.cmi \
- bytecomp/lambda.cmi typing/ident.cmi asmcomp/debuginfo.cmi \
+ bytecomp/lambda.cmi typing/ident.cmi bytecomp/debuginfo.cmi \
utils/config.cmi asmcomp/compilenv.cmi asmcomp/cmx_format.cmi \
asmcomp/cmm.cmi utils/clflags.cmi asmcomp/clambda.cmi \
parsing/asttypes.cmi asmcomp/arch.cmo asmcomp/cmmgen.cmi
asmcomp/cmmgen.cmx : typing/types.cmx bytecomp/switch.cmx \
asmcomp/strmatch.cmx asmcomp/proc.cmx typing/primitive.cmx utils/misc.cmx \
- bytecomp/lambda.cmx typing/ident.cmx asmcomp/debuginfo.cmx \
+ bytecomp/lambda.cmx typing/ident.cmx bytecomp/debuginfo.cmx \
utils/config.cmx asmcomp/compilenv.cmx asmcomp/cmx_format.cmi \
asmcomp/cmm.cmx utils/clflags.cmx asmcomp/clambda.cmx \
parsing/asttypes.cmi asmcomp/arch.cmx asmcomp/cmmgen.cmi
+asmcomp/cmm.cmo : bytecomp/lambda.cmi typing/ident.cmi \
+ bytecomp/debuginfo.cmi asmcomp/arch.cmo asmcomp/cmm.cmi
+asmcomp/cmm.cmx : bytecomp/lambda.cmx typing/ident.cmx \
+ bytecomp/debuginfo.cmx asmcomp/arch.cmx asmcomp/cmm.cmi
asmcomp/coloring.cmo : asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/coloring.cmi
asmcomp/coloring.cmx : asmcomp/reg.cmx asmcomp/proc.cmx asmcomp/coloring.cmi
asmcomp/comballoc.cmo : asmcomp/reg.cmi asmcomp/mach.cmi utils/config.cmi \
@@ -801,41 +807,43 @@ asmcomp/compilenv.cmo : utils/misc.cmi parsing/location.cmi typing/ident.cmi \
asmcomp/compilenv.cmx : utils/misc.cmx parsing/location.cmx typing/ident.cmx \
typing/env.cmx utils/config.cmx asmcomp/cmx_format.cmi \
asmcomp/clambda.cmx asmcomp/compilenv.cmi
+asmcomp/CSEgen.cmo : asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/mach.cmi \
+ asmcomp/cmm.cmi asmcomp/CSEgen.cmi
+asmcomp/CSEgen.cmx : asmcomp/reg.cmx asmcomp/proc.cmx asmcomp/mach.cmx \
+ asmcomp/cmm.cmx asmcomp/CSEgen.cmi
+asmcomp/CSE.cmo : asmcomp/mach.cmi asmcomp/CSEgen.cmi asmcomp/arch.cmo
+asmcomp/CSE.cmx : asmcomp/mach.cmx asmcomp/CSEgen.cmx asmcomp/arch.cmx
asmcomp/deadcode.cmo : asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/mach.cmi \
asmcomp/deadcode.cmi
asmcomp/deadcode.cmx : asmcomp/reg.cmx asmcomp/proc.cmx asmcomp/mach.cmx \
asmcomp/deadcode.cmi
-asmcomp/debuginfo.cmo : parsing/location.cmi bytecomp/lambda.cmi \
- asmcomp/debuginfo.cmi
-asmcomp/debuginfo.cmx : parsing/location.cmx bytecomp/lambda.cmx \
- asmcomp/debuginfo.cmi
+asmcomp/emitaux.cmo : asmcomp/linearize.cmi bytecomp/debuginfo.cmi \
+ utils/config.cmi utils/clflags.cmi asmcomp/arch.cmo asmcomp/emitaux.cmi
+asmcomp/emitaux.cmx : asmcomp/linearize.cmx bytecomp/debuginfo.cmx \
+ utils/config.cmx utils/clflags.cmx asmcomp/arch.cmx asmcomp/emitaux.cmi
asmcomp/emit.cmo : asmcomp/x86_proc.cmi asmcomp/x86_masm.cmi \
asmcomp/x86_gas.cmi asmcomp/x86_dsl.cmi asmcomp/x86_ast.cmi \
asmcomp/reg.cmi asmcomp/proc.cmi utils/misc.cmi asmcomp/mach.cmi \
asmcomp/linearize.cmi bytecomp/lambda.cmi asmcomp/emitaux.cmi \
- asmcomp/debuginfo.cmi utils/config.cmi asmcomp/compilenv.cmi \
+ bytecomp/debuginfo.cmi utils/config.cmi asmcomp/compilenv.cmi \
asmcomp/cmm.cmi utils/clflags.cmi asmcomp/branch_relaxation.cmi \
asmcomp/arch.cmo asmcomp/emit.cmi
asmcomp/emit.cmx : asmcomp/x86_proc.cmx asmcomp/x86_masm.cmx \
asmcomp/x86_gas.cmx asmcomp/x86_dsl.cmx asmcomp/x86_ast.cmi \
asmcomp/reg.cmx asmcomp/proc.cmx utils/misc.cmx asmcomp/mach.cmx \
asmcomp/linearize.cmx bytecomp/lambda.cmx asmcomp/emitaux.cmx \
- asmcomp/debuginfo.cmx utils/config.cmx asmcomp/compilenv.cmx \
+ bytecomp/debuginfo.cmx utils/config.cmx asmcomp/compilenv.cmx \
asmcomp/cmm.cmx utils/clflags.cmx asmcomp/branch_relaxation.cmx \
asmcomp/arch.cmx asmcomp/emit.cmi
-asmcomp/emitaux.cmo : asmcomp/linearize.cmi asmcomp/debuginfo.cmi \
- utils/config.cmi utils/clflags.cmi asmcomp/arch.cmo asmcomp/emitaux.cmi
-asmcomp/emitaux.cmx : asmcomp/linearize.cmx asmcomp/debuginfo.cmx \
- utils/config.cmx utils/clflags.cmx asmcomp/arch.cmx asmcomp/emitaux.cmi
asmcomp/interf.cmo : asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/mach.cmi \
asmcomp/interf.cmi
asmcomp/interf.cmx : asmcomp/reg.cmx asmcomp/proc.cmx asmcomp/mach.cmx \
asmcomp/interf.cmi
asmcomp/linearize.cmo : asmcomp/reg.cmi asmcomp/proc.cmi utils/misc.cmi \
- asmcomp/mach.cmi bytecomp/lambda.cmi asmcomp/debuginfo.cmi \
+ asmcomp/mach.cmi bytecomp/lambda.cmi bytecomp/debuginfo.cmi \
asmcomp/cmm.cmi asmcomp/linearize.cmi
asmcomp/linearize.cmx : asmcomp/reg.cmx asmcomp/proc.cmx utils/misc.cmx \
- asmcomp/mach.cmx bytecomp/lambda.cmx asmcomp/debuginfo.cmx \
+ asmcomp/mach.cmx bytecomp/lambda.cmx bytecomp/debuginfo.cmx \
asmcomp/cmm.cmx asmcomp/linearize.cmi
asmcomp/liveness.cmo : asmcomp/reg.cmi asmcomp/proc.cmi \
asmcomp/printmach.cmi utils/misc.cmi asmcomp/mach.cmi \
@@ -843,10 +851,10 @@ asmcomp/liveness.cmo : asmcomp/reg.cmi asmcomp/proc.cmi \
asmcomp/liveness.cmx : asmcomp/reg.cmx asmcomp/proc.cmx \
asmcomp/printmach.cmx utils/misc.cmx asmcomp/mach.cmx \
asmcomp/liveness.cmi
-asmcomp/mach.cmo : asmcomp/reg.cmi bytecomp/lambda.cmi asmcomp/debuginfo.cmi \
- asmcomp/cmm.cmi asmcomp/arch.cmo asmcomp/mach.cmi
-asmcomp/mach.cmx : asmcomp/reg.cmx bytecomp/lambda.cmx asmcomp/debuginfo.cmx \
- asmcomp/cmm.cmx asmcomp/arch.cmx asmcomp/mach.cmi
+asmcomp/mach.cmo : asmcomp/reg.cmi bytecomp/lambda.cmi \
+ bytecomp/debuginfo.cmi asmcomp/cmm.cmi asmcomp/arch.cmo asmcomp/mach.cmi
+asmcomp/mach.cmx : asmcomp/reg.cmx bytecomp/lambda.cmx \
+ bytecomp/debuginfo.cmx asmcomp/cmm.cmx asmcomp/arch.cmx asmcomp/mach.cmi
asmcomp/printclambda.cmo : bytecomp/printlambda.cmi bytecomp/lambda.cmi \
typing/ident.cmi asmcomp/clambda.cmi parsing/asttypes.cmi \
asmcomp/printclambda.cmi
@@ -854,22 +862,22 @@ asmcomp/printclambda.cmx : bytecomp/printlambda.cmx bytecomp/lambda.cmx \
typing/ident.cmx asmcomp/clambda.cmx parsing/asttypes.cmi \
asmcomp/printclambda.cmi
asmcomp/printcmm.cmo : bytecomp/lambda.cmi typing/ident.cmi \
- asmcomp/debuginfo.cmi asmcomp/cmm.cmi asmcomp/printcmm.cmi
+ bytecomp/debuginfo.cmi asmcomp/cmm.cmi asmcomp/printcmm.cmi
asmcomp/printcmm.cmx : bytecomp/lambda.cmx typing/ident.cmx \
- asmcomp/debuginfo.cmx asmcomp/cmm.cmx asmcomp/printcmm.cmi
+ bytecomp/debuginfo.cmx asmcomp/cmm.cmx asmcomp/printcmm.cmi
asmcomp/printlinear.cmo : asmcomp/printmach.cmi asmcomp/mach.cmi \
- asmcomp/linearize.cmi bytecomp/lambda.cmi asmcomp/debuginfo.cmi \
+ asmcomp/linearize.cmi bytecomp/lambda.cmi bytecomp/debuginfo.cmi \
asmcomp/printlinear.cmi
asmcomp/printlinear.cmx : asmcomp/printmach.cmx asmcomp/mach.cmx \
- asmcomp/linearize.cmx bytecomp/lambda.cmx asmcomp/debuginfo.cmx \
+ asmcomp/linearize.cmx bytecomp/lambda.cmx bytecomp/debuginfo.cmx \
asmcomp/printlinear.cmi
asmcomp/printmach.cmo : asmcomp/reg.cmi asmcomp/proc.cmi \
asmcomp/printcmm.cmi asmcomp/mach.cmi bytecomp/lambda.cmi \
- asmcomp/debuginfo.cmi asmcomp/cmm.cmi asmcomp/arch.cmo \
+ bytecomp/debuginfo.cmi asmcomp/cmm.cmi asmcomp/arch.cmo \
asmcomp/printmach.cmi
asmcomp/printmach.cmx : asmcomp/reg.cmx asmcomp/proc.cmx \
asmcomp/printcmm.cmx asmcomp/mach.cmx bytecomp/lambda.cmx \
- asmcomp/debuginfo.cmx asmcomp/cmm.cmx asmcomp/arch.cmx \
+ bytecomp/debuginfo.cmx asmcomp/cmm.cmx asmcomp/arch.cmx \
asmcomp/printmach.cmi
asmcomp/proc.cmo : asmcomp/x86_proc.cmi asmcomp/reg.cmi utils/misc.cmi \
asmcomp/mach.cmi utils/config.cmi asmcomp/cmm.cmi asmcomp/arch.cmo \
@@ -879,14 +887,14 @@ asmcomp/proc.cmx : asmcomp/x86_proc.cmx asmcomp/reg.cmx utils/misc.cmx \
asmcomp/proc.cmi
asmcomp/reg.cmo : typing/ident.cmi asmcomp/cmm.cmi asmcomp/reg.cmi
asmcomp/reg.cmx : typing/ident.cmx asmcomp/cmm.cmx asmcomp/reg.cmi
-asmcomp/reload.cmo : asmcomp/reloadgen.cmi asmcomp/reg.cmi asmcomp/mach.cmi \
- asmcomp/cmm.cmi utils/clflags.cmi asmcomp/reload.cmi
-asmcomp/reload.cmx : asmcomp/reloadgen.cmx asmcomp/reg.cmx asmcomp/mach.cmx \
- asmcomp/cmm.cmx utils/clflags.cmx asmcomp/reload.cmi
asmcomp/reloadgen.cmo : asmcomp/reg.cmi utils/misc.cmi asmcomp/mach.cmi \
asmcomp/reloadgen.cmi
asmcomp/reloadgen.cmx : asmcomp/reg.cmx utils/misc.cmx asmcomp/mach.cmx \
asmcomp/reloadgen.cmi
+asmcomp/reload.cmo : asmcomp/reloadgen.cmi asmcomp/reg.cmi asmcomp/mach.cmi \
+ asmcomp/cmm.cmi utils/clflags.cmi asmcomp/reload.cmi
+asmcomp/reload.cmx : asmcomp/reloadgen.cmx asmcomp/reg.cmx asmcomp/mach.cmx \
+ asmcomp/cmm.cmx utils/clflags.cmx asmcomp/reload.cmi
asmcomp/schedgen.cmo : asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/mach.cmi \
asmcomp/linearize.cmi asmcomp/cmm.cmi asmcomp/arch.cmo \
asmcomp/schedgen.cmi
@@ -897,11 +905,11 @@ asmcomp/scheduling.cmo : asmcomp/schedgen.cmi asmcomp/scheduling.cmi
asmcomp/scheduling.cmx : asmcomp/schedgen.cmx asmcomp/scheduling.cmi
asmcomp/selectgen.cmo : utils/tbl.cmi bytecomp/simplif.cmi asmcomp/reg.cmi \
asmcomp/proc.cmi utils/misc.cmi asmcomp/mach.cmi bytecomp/lambda.cmi \
- typing/ident.cmi asmcomp/debuginfo.cmi asmcomp/cmm.cmi utils/clflags.cmi \
+ typing/ident.cmi bytecomp/debuginfo.cmi asmcomp/cmm.cmi utils/clflags.cmi \
asmcomp/arch.cmo asmcomp/selectgen.cmi
asmcomp/selectgen.cmx : utils/tbl.cmx bytecomp/simplif.cmx asmcomp/reg.cmx \
asmcomp/proc.cmx utils/misc.cmx asmcomp/mach.cmx bytecomp/lambda.cmx \
- typing/ident.cmx asmcomp/debuginfo.cmx asmcomp/cmm.cmx utils/clflags.cmx \
+ typing/ident.cmx bytecomp/debuginfo.cmx asmcomp/cmm.cmx utils/clflags.cmx \
asmcomp/arch.cmx asmcomp/selectgen.cmi
asmcomp/selection.cmo : asmcomp/selectgen.cmi asmcomp/proc.cmi \
asmcomp/mach.cmi asmcomp/cmm.cmi utils/clflags.cmi asmcomp/arch.cmo \
@@ -941,8 +949,8 @@ driver/compenv.cmi :
driver/compile.cmi :
driver/compmisc.cmi : typing/env.cmi
driver/errors.cmi :
-driver/main.cmi :
driver/main_args.cmi :
+driver/main.cmi :
driver/optcompile.cmi :
driver/opterrors.cmi :
driver/optmain.cmi :
@@ -953,22 +961,22 @@ driver/compenv.cmx : utils/warnings.cmx utils/misc.cmx parsing/location.cmx \
utils/config.cmx utils/clflags.cmx driver/compenv.cmi
driver/compile.cmo : utils/warnings.cmi typing/typemod.cmi \
typing/typedtree.cmi typing/typecore.cmi bytecomp/translmod.cmi \
- typing/stypes.cmi bytecomp/simplif.cmi typing/printtyped.cmi \
- typing/printtyp.cmi bytecomp/printlambda.cmi bytecomp/printinstr.cmi \
- parsing/printast.cmi parsing/pprintast.cmi driver/pparse.cmi \
- utils/misc.cmi parsing/location.cmi typing/includemod.cmi typing/env.cmi \
- bytecomp/emitcode.cmi driver/compmisc.cmi driver/compenv.cmi \
- utils/clflags.cmi utils/ccomp.cmi bytecomp/bytegen.cmi \
- parsing/builtin_attributes.cmi driver/compile.cmi
+ utils/timings.cmi typing/stypes.cmi bytecomp/simplif.cmi \
+ typing/printtyped.cmi typing/printtyp.cmi bytecomp/printlambda.cmi \
+ bytecomp/printinstr.cmi parsing/printast.cmi parsing/pprintast.cmi \
+ driver/pparse.cmi utils/misc.cmi parsing/location.cmi \
+ typing/includemod.cmi typing/env.cmi bytecomp/emitcode.cmi \
+ driver/compmisc.cmi driver/compenv.cmi utils/clflags.cmi utils/ccomp.cmi \
+ bytecomp/bytegen.cmi parsing/builtin_attributes.cmi driver/compile.cmi
driver/compile.cmx : utils/warnings.cmx typing/typemod.cmx \
typing/typedtree.cmx typing/typecore.cmx bytecomp/translmod.cmx \
- typing/stypes.cmx bytecomp/simplif.cmx typing/printtyped.cmx \
- typing/printtyp.cmx bytecomp/printlambda.cmx bytecomp/printinstr.cmx \
- parsing/printast.cmx parsing/pprintast.cmx driver/pparse.cmx \
- utils/misc.cmx parsing/location.cmx typing/includemod.cmx typing/env.cmx \
- bytecomp/emitcode.cmx driver/compmisc.cmx driver/compenv.cmx \
- utils/clflags.cmx utils/ccomp.cmx bytecomp/bytegen.cmx \
- parsing/builtin_attributes.cmx driver/compile.cmi
+ utils/timings.cmx typing/stypes.cmx bytecomp/simplif.cmx \
+ typing/printtyped.cmx typing/printtyp.cmx bytecomp/printlambda.cmx \
+ bytecomp/printinstr.cmx parsing/printast.cmx parsing/pprintast.cmx \
+ driver/pparse.cmx utils/misc.cmx parsing/location.cmx \
+ typing/includemod.cmx typing/env.cmx bytecomp/emitcode.cmx \
+ driver/compmisc.cmx driver/compenv.cmx utils/clflags.cmx utils/ccomp.cmx \
+ bytecomp/bytegen.cmx parsing/builtin_attributes.cmx driver/compile.cmi
driver/compmisc.cmo : typing/typemod.cmi utils/misc.cmi \
parsing/longident.cmi parsing/location.cmi typing/ident.cmi \
typing/env.cmi utils/config.cmi driver/compenv.cmi utils/clflags.cmi \
@@ -979,56 +987,56 @@ driver/compmisc.cmx : typing/typemod.cmx utils/misc.cmx \
parsing/asttypes.cmi driver/compmisc.cmi
driver/errors.cmo : parsing/location.cmi driver/errors.cmi
driver/errors.cmx : parsing/location.cmx driver/errors.cmi
-driver/main.cmo : utils/warnings.cmi utils/misc.cmi driver/main_args.cmi \
- parsing/location.cmi utils/config.cmi driver/compmisc.cmi \
- driver/compile.cmi driver/compenv.cmi utils/clflags.cmi \
- bytecomp/bytepackager.cmi bytecomp/bytelink.cmi \
- bytecomp/bytelibrarian.cmi driver/main.cmi
-driver/main.cmx : utils/warnings.cmx utils/misc.cmx driver/main_args.cmx \
- parsing/location.cmx utils/config.cmx driver/compmisc.cmx \
- driver/compile.cmx driver/compenv.cmx utils/clflags.cmx \
- bytecomp/bytepackager.cmx bytecomp/bytelink.cmx \
- bytecomp/bytelibrarian.cmx driver/main.cmi
driver/main_args.cmo : utils/warnings.cmi driver/main_args.cmi
driver/main_args.cmx : utils/warnings.cmx driver/main_args.cmi
+driver/main.cmo : utils/warnings.cmi utils/timings.cmi utils/misc.cmi \
+ driver/main_args.cmi parsing/location.cmi utils/config.cmi \
+ driver/compmisc.cmi driver/compile.cmi driver/compenv.cmi \
+ utils/clflags.cmi bytecomp/bytepackager.cmi bytecomp/bytelink.cmi \
+ bytecomp/bytelibrarian.cmi driver/main.cmi
+driver/main.cmx : utils/warnings.cmx utils/timings.cmx utils/misc.cmx \
+ driver/main_args.cmx parsing/location.cmx utils/config.cmx \
+ driver/compmisc.cmx driver/compile.cmx driver/compenv.cmx \
+ utils/clflags.cmx bytecomp/bytepackager.cmx bytecomp/bytelink.cmx \
+ bytecomp/bytelibrarian.cmx driver/main.cmi
driver/optcompile.cmo : utils/warnings.cmi typing/typemod.cmi \
typing/typedtree.cmi typing/typecore.cmi bytecomp/translmod.cmi \
- typing/stypes.cmi bytecomp/simplif.cmi typing/printtyped.cmi \
- typing/printtyp.cmi bytecomp/printlambda.cmi parsing/printast.cmi \
- parsing/pprintast.cmi driver/pparse.cmi utils/misc.cmi \
- typing/includemod.cmi typing/env.cmi utils/config.cmi driver/compmisc.cmi \
- asmcomp/compilenv.cmi driver/compenv.cmi utils/clflags.cmi \
- utils/ccomp.cmi parsing/builtin_attributes.cmi asmcomp/asmgen.cmi \
- driver/optcompile.cmi
+ utils/timings.cmi typing/stypes.cmi bytecomp/simplif.cmi \
+ typing/printtyped.cmi typing/printtyp.cmi bytecomp/printlambda.cmi \
+ parsing/printast.cmi parsing/pprintast.cmi driver/pparse.cmi \
+ utils/misc.cmi typing/includemod.cmi typing/env.cmi utils/config.cmi \
+ driver/compmisc.cmi asmcomp/compilenv.cmi driver/compenv.cmi \
+ utils/clflags.cmi utils/ccomp.cmi parsing/builtin_attributes.cmi \
+ asmcomp/asmgen.cmi driver/optcompile.cmi
driver/optcompile.cmx : utils/warnings.cmx typing/typemod.cmx \
typing/typedtree.cmx typing/typecore.cmx bytecomp/translmod.cmx \
- typing/stypes.cmx bytecomp/simplif.cmx typing/printtyped.cmx \
- typing/printtyp.cmx bytecomp/printlambda.cmx parsing/printast.cmx \
- parsing/pprintast.cmx driver/pparse.cmx utils/misc.cmx \
- typing/includemod.cmx typing/env.cmx utils/config.cmx driver/compmisc.cmx \
- asmcomp/compilenv.cmx driver/compenv.cmx utils/clflags.cmx \
- utils/ccomp.cmx parsing/builtin_attributes.cmx asmcomp/asmgen.cmx \
- driver/optcompile.cmi
+ utils/timings.cmx typing/stypes.cmx bytecomp/simplif.cmx \
+ typing/printtyped.cmx typing/printtyp.cmx bytecomp/printlambda.cmx \
+ parsing/printast.cmx parsing/pprintast.cmx driver/pparse.cmx \
+ utils/misc.cmx typing/includemod.cmx typing/env.cmx utils/config.cmx \
+ driver/compmisc.cmx asmcomp/compilenv.cmx driver/compenv.cmx \
+ utils/clflags.cmx utils/ccomp.cmx parsing/builtin_attributes.cmx \
+ asmcomp/asmgen.cmx driver/optcompile.cmi
driver/opterrors.cmo : parsing/location.cmi driver/opterrors.cmi
driver/opterrors.cmx : parsing/location.cmx driver/opterrors.cmi
-driver/optmain.cmo : utils/warnings.cmi asmcomp/printmach.cmi \
- driver/optcompile.cmi utils/misc.cmi driver/main_args.cmi \
- parsing/location.cmi utils/config.cmi driver/compmisc.cmi \
- driver/compenv.cmi utils/clflags.cmi asmcomp/asmpackager.cmi \
- asmcomp/asmlink.cmi asmcomp/asmlibrarian.cmi asmcomp/arch.cmo \
- driver/optmain.cmi
-driver/optmain.cmx : utils/warnings.cmx asmcomp/printmach.cmx \
- driver/optcompile.cmx utils/misc.cmx driver/main_args.cmx \
- parsing/location.cmx utils/config.cmx driver/compmisc.cmx \
- driver/compenv.cmx utils/clflags.cmx asmcomp/asmpackager.cmx \
- asmcomp/asmlink.cmx asmcomp/asmlibrarian.cmx asmcomp/arch.cmx \
- driver/optmain.cmi
-driver/pparse.cmo : parsing/parse.cmi utils/misc.cmi parsing/location.cmi \
- utils/config.cmi utils/clflags.cmi utils/ccomp.cmi parsing/ast_mapper.cmi \
- driver/pparse.cmi
-driver/pparse.cmx : parsing/parse.cmx utils/misc.cmx parsing/location.cmx \
- utils/config.cmx utils/clflags.cmx utils/ccomp.cmx parsing/ast_mapper.cmx \
- driver/pparse.cmi
+driver/optmain.cmo : utils/warnings.cmi utils/timings.cmi \
+ asmcomp/printmach.cmi driver/optcompile.cmi utils/misc.cmi \
+ driver/main_args.cmi parsing/location.cmi utils/config.cmi \
+ driver/compmisc.cmi driver/compenv.cmi utils/clflags.cmi \
+ asmcomp/asmpackager.cmi asmcomp/asmlink.cmi asmcomp/asmlibrarian.cmi \
+ asmcomp/arch.cmo driver/optmain.cmi
+driver/optmain.cmx : utils/warnings.cmx utils/timings.cmx \
+ asmcomp/printmach.cmx driver/optcompile.cmx utils/misc.cmx \
+ driver/main_args.cmx parsing/location.cmx utils/config.cmx \
+ driver/compmisc.cmx driver/compenv.cmx utils/clflags.cmx \
+ asmcomp/asmpackager.cmx asmcomp/asmlink.cmx asmcomp/asmlibrarian.cmx \
+ asmcomp/arch.cmx driver/optmain.cmi
+driver/pparse.cmo : utils/timings.cmi parsing/parse.cmi utils/misc.cmi \
+ parsing/location.cmi utils/config.cmi utils/clflags.cmi utils/ccomp.cmi \
+ parsing/ast_mapper.cmi driver/pparse.cmi
+driver/pparse.cmx : utils/timings.cmx parsing/parse.cmx utils/misc.cmx \
+ parsing/location.cmx utils/config.cmx utils/clflags.cmx utils/ccomp.cmx \
+ parsing/ast_mapper.cmx driver/pparse.cmi
toplevel/genprintval.cmi : typing/types.cmi typing/path.cmi \
typing/outcometree.cmi typing/env.cmi
toplevel/opttopdirs.cmi : parsing/longident.cmi
@@ -1071,26 +1079,26 @@ toplevel/opttoploop.cmo : utils/warnings.cmi typing/types.cmi \
typing/typemod.cmi typing/typedtree.cmi typing/typecore.cmi \
bytecomp/translmod.cmi bytecomp/simplif.cmi typing/printtyped.cmi \
typing/printtyp.cmi bytecomp/printlambda.cmi parsing/printast.cmi \
- typing/predef.cmi parsing/pprintast.cmi typing/path.cmi \
+ typing/predef.cmi parsing/pprintast.cmi driver/pparse.cmi typing/path.cmi \
parsing/parsetree.cmi parsing/parse.cmi typing/outcometree.cmi \
typing/oprint.cmi utils/misc.cmi parsing/longident.cmi \
- parsing/location.cmi parsing/lexer.cmi typing/ident.cmi \
- toplevel/genprintval.cmi typing/env.cmi utils/config.cmi \
+ parsing/location.cmi parsing/lexer.cmi typing/includemod.cmi \
+ typing/ident.cmi toplevel/genprintval.cmi typing/env.cmi utils/config.cmi \
driver/compmisc.cmi asmcomp/compilenv.cmi utils/clflags.cmi \
- typing/btype.cmi asmcomp/asmlink.cmi asmcomp/asmgen.cmi \
- toplevel/opttoploop.cmi
+ typing/btype.cmi parsing/ast_helper.cmi asmcomp/asmlink.cmi \
+ asmcomp/asmgen.cmi toplevel/opttoploop.cmi
toplevel/opttoploop.cmx : utils/warnings.cmx typing/types.cmx \
typing/typemod.cmx typing/typedtree.cmx typing/typecore.cmx \
bytecomp/translmod.cmx bytecomp/simplif.cmx typing/printtyped.cmx \
typing/printtyp.cmx bytecomp/printlambda.cmx parsing/printast.cmx \
- typing/predef.cmx parsing/pprintast.cmx typing/path.cmx \
+ typing/predef.cmx parsing/pprintast.cmx driver/pparse.cmx typing/path.cmx \
parsing/parsetree.cmi parsing/parse.cmx typing/outcometree.cmi \
typing/oprint.cmx utils/misc.cmx parsing/longident.cmx \
- parsing/location.cmx parsing/lexer.cmx typing/ident.cmx \
- toplevel/genprintval.cmx typing/env.cmx utils/config.cmx \
+ parsing/location.cmx parsing/lexer.cmx typing/includemod.cmx \
+ typing/ident.cmx toplevel/genprintval.cmx typing/env.cmx utils/config.cmx \
driver/compmisc.cmx asmcomp/compilenv.cmx utils/clflags.cmx \
- typing/btype.cmx asmcomp/asmlink.cmx asmcomp/asmgen.cmx \
- toplevel/opttoploop.cmi
+ typing/btype.cmx parsing/ast_helper.cmx asmcomp/asmlink.cmx \
+ asmcomp/asmgen.cmx toplevel/opttoploop.cmi
toplevel/opttopmain.cmo : utils/warnings.cmi asmcomp/printmach.cmi \
toplevel/opttoploop.cmi toplevel/opttopdirs.cmi utils/misc.cmi \
driver/main_args.cmi parsing/location.cmi utils/config.cmi \
diff --git a/.gitignore b/.gitignore
index 14ef736207..9deb3142b9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -197,8 +197,8 @@
/stdlib/camlheader
/stdlib/target_camlheader
-/stdlib/camlheaderd
-/stdlib/target_camlheaderd
+/stdlib/camlheader[di]
+/stdlib/target_camlheader[di]
/stdlib/camlheader_ur
/stdlib/labelled-*
/stdlib/caml
@@ -282,6 +282,8 @@
/tools/objinfo_helper
/tools/read_cmt
/tools/read_cmt.opt
+/tools/cmpbyt
+/tools/stripdebug
/utils/config.ml
diff --git a/Changes b/Changes
index 880403b393..722811ff14 100644
--- a/Changes
+++ b/Changes
@@ -63,6 +63,7 @@ Compilers:
- PR#4080, PR#6537, PR#5333: fix stack overflow in the compiler when -pack'ing
a module
that includes a module of the same name (Alain Frisch)
+- PR#4231, PR#5461: (interim solution) warning 31 is now fatal by default
- PR#4800: better compilation of tuple assignment (Gabriel Scherer and
Alain Frisch)
- PR#5995: keep -for-pack into account to name exceptions; document -for-pack
@@ -128,6 +129,8 @@ Compilers:
- GPR#282: relax short-paths safety check in presence of module aliases, take
penalty into account while building the printing map.
(Thomas Refis, Leo White)
+- GPR#306: Instrument the compiler to debug performance regressions
+ (Pierre Chambart)
- PR#6920: fix debug informations around uses of %apply or %revapply
(Jérémie Dimino)
@@ -152,6 +155,8 @@ Runtime system:
Shinwell, review by Damien Doligez)
- GPR#325: Add v=0x400 flag to OCAMLRUNPARAM to display GC stats on exit (Louis
Gesbert, review by Alain Frisch)
+- GPR#297: Several changes to improve the worst-case GC pause time.
+ (Damien Doligez, with help from Leo White and Francois Bobot)
Standard library:
- PR#5197, GPR#63: Arg: allow flags such as --flag=arg as well as --flag arg
@@ -485,6 +490,8 @@ Features wishes:
(Hugo Heuzard)
- GPR#308: add experimental support for NetBSD/arm (verified on RaspberryPi)
(Rich Neswold)
+- GPR#365: prevent printing just a single type variable on one side
+ of a type error clash. (Hugo Heuzard)
OCaml 4.02.3 (27 Jul 2015):
---------------------------
diff --git a/INSTALL.adoc b/INSTALL.adoc
index deb95ade03..be0c3b6a23 100644
--- a/INSTALL.adoc
+++ b/INSTALL.adoc
@@ -106,6 +106,10 @@ The `configure` script accepts the following options:
Compile and install the debug version of the runtimes, useful
for debugging C stubs and other low-level code.
+-with-instrumented-runtime::
+ Compile and install the instrumented version of the runtimes,
+ useful mainly for fine-tuning the GC. Works only on Linux.
+
-verbose::
Verbose output of the configuration tests. Use it if the outcome
of configure is not what you were expecting.
diff --git a/Makefile.shared b/Makefile.shared
index f6f9f79c77..850a4880b7 100755
--- a/Makefile.shared
+++ b/Makefile.shared
@@ -37,7 +37,7 @@ INCLUDES=-I utils -I parsing -I typing -I bytecomp -I asmcomp -I driver \
-I toplevel
UTILS=utils/config.cmo utils/clflags.cmo \
- utils/misc.cmo utils/tbl.cmo \
+ utils/misc.cmo utils/tbl.cmo utils/timings.cmo \
utils/terminfo.cmo utils/ccomp.cmo utils/warnings.cmo \
utils/consistbl.cmo
@@ -71,6 +71,7 @@ COMP=bytecomp/lambda.cmo bytecomp/printlambda.cmo \
bytecomp/translcore.cmo \
bytecomp/translclass.cmo bytecomp/translmod.cmo \
bytecomp/simplif.cmo bytecomp/runtimedef.cmo \
+ bytecomp/debuginfo.cmo \
driver/pparse.cmo driver/main_args.cmo \
driver/compenv.cmo driver/compmisc.cmo
@@ -98,7 +99,7 @@ endif
ASMCOMP=\
$(ARCH_SPECIFIC_ASMCOMP) \
- asmcomp/arch.cmo asmcomp/debuginfo.cmo \
+ asmcomp/arch.cmo \
asmcomp/cmm.cmo asmcomp/printcmm.cmo \
asmcomp/reg.cmo asmcomp/mach.cmo asmcomp/proc.cmo \
asmcomp/clambda.cmo asmcomp/printclambda.cmo asmcomp/compilenv.cmo \
diff --git a/VERSION b/VERSION
index fb6ef71336..a10119747c 100644
--- a/VERSION
+++ b/VERSION
@@ -1,4 +1,4 @@
-4.03.0+dev11-2015-10-19
+4.03.0+dev12-2015-11-20
# The version string is the first line of this file.
# It must be in the format described in stdlib/sys.mli
diff --git a/asmcomp/amd64/NOTES.md b/asmcomp/amd64/NOTES.md
new file mode 100644
index 0000000000..3841f45f9e
--- /dev/null
+++ b/asmcomp/amd64/NOTES.md
@@ -0,0 +1,22 @@
+# Supported platforms
+
+Intel and AMD x86 processors in 64-bit mode, a.k.a `x86_64`.
+
+Floating-point architecture: SSE2, supported by all x86_64 processors.
+
+Operating systems: Linux, BSD, MacOS X, MS Windows.
+
+Debian architecture name: `amd64`
+
+# Reference documents
+
+* Instruction set architecture:
+ any Intel or AMD manual less than 10 years old.
+* ELF application binary interface:
+ _System V Application Binary Interface,
+ AMD64 Architecture Processor Supplement_
+* MacOS X application binary interface:
+ _OS X ABI Function Call Guide: x86-64 Function Calling Conventions_
+* Windows 64 application binary interface:
+ _x64 Software Conventions_ from MSDN
+
diff --git a/asmcomp/arm/NOTES.md b/asmcomp/arm/NOTES.md
new file mode 100644
index 0000000000..9cb2ac4e63
--- /dev/null
+++ b/asmcomp/arm/NOTES.md
@@ -0,0 +1,21 @@
+# Supported platforms
+
+A great many variants of the ARM 32-bit architecture:
+* Architecture versions: v4, v5, v5te, v6, v6t2, v7.
+ ARMv7 is the standard nowadays.
+* Instruction encoding: classic ARM or Thumb or Thumb-2.
+* Floating-point: software emulation, VFPv2, VFPv3-d16, VFP-v3.
+* ABI: the standard EABI (with floats passed in integer registers)
+ or the EABI-HF variant (with floats passed in VFP registers).
+
+Debian architecture names: `armel` and `armhf`.
+
+# Reference documents
+
+* Instruction set architecture:
+ _ARM Architecture Reference Manual, ARMv7-A and ARMv7-R edition_.
+ Alternatively:
+ _ARM Architecture Reference Manual, ARMv8_, restricted to the AArch32 subset.
+* Application binary interface:
+ _Procedure Call Standard for the ARM Architecture_
+
diff --git a/asmcomp/arm64/NOTES.md b/asmcomp/arm64/NOTES.md
new file mode 100644
index 0000000000..e2134eb18e
--- /dev/null
+++ b/asmcomp/arm64/NOTES.md
@@ -0,0 +1,12 @@
+# Supported platforms
+
+ARMv8 in 64-bit mode (AArch64).
+
+Debian architecture name: `arm64`.
+
+# Reference documents
+
+* Instruction set architecture:
+ _ARM Architecture Reference Manual, ARMv8_, restricted to the AArch64 subset.
+* Application binary interface:
+ _Procedure Call Standard for the ARM 64-bit Architecture (AArch64)_
diff --git a/asmcomp/asmgen.ml b/asmcomp/asmgen.ml
index 0e01f9ba3f..be8ec2a9d7 100644
--- a/asmcomp/asmgen.ml
+++ b/asmcomp/asmgen.ml
@@ -59,28 +59,29 @@ let (++) x f = f x
let compile_fundecl (ppf : formatter) fd_cmm =
Proc.init ();
Reg.reset();
+ let build = Compilenv.current_build () in
fd_cmm
- ++ Selection.fundecl
+ ++ Timings.(accumulate_time (Selection build)) Selection.fundecl
++ pass_dump_if ppf dump_selection "After instruction selection"
- ++ Comballoc.fundecl
+ ++ Timings.(accumulate_time (Comballoc build)) Comballoc.fundecl
++ pass_dump_if ppf dump_combine "After allocation combining"
- ++ CSE.fundecl
+ ++ Timings.(accumulate_time (CSE build)) CSE.fundecl
++ pass_dump_if ppf dump_cse "After CSE"
- ++ liveness ppf
- ++ Deadcode.fundecl
+ ++ Timings.(accumulate_time (Liveness build)) (liveness ppf)
+ ++ Timings.(accumulate_time (Deadcode build)) Deadcode.fundecl
++ pass_dump_if ppf dump_live "Liveness analysis"
- ++ Spill.fundecl
- ++ liveness ppf
+ ++ Timings.(accumulate_time (Spill build)) Spill.fundecl
+ ++ Timings.(accumulate_time (Liveness build)) (liveness ppf)
++ pass_dump_if ppf dump_spill "After spilling"
- ++ Split.fundecl
+ ++ Timings.(accumulate_time (Split build)) Split.fundecl
++ pass_dump_if ppf dump_split "After live range splitting"
- ++ liveness ppf
- ++ regalloc ppf 1
- ++ Linearize.fundecl
+ ++ Timings.(accumulate_time (Liveness build)) (liveness ppf)
+ ++ Timings.(accumulate_time (Regalloc build)) (regalloc ppf 1)
+ ++ Timings.(accumulate_time (Linearize build)) Linearize.fundecl
++ pass_dump_linear_if ppf dump_linear "Linearized code"
- ++ Scheduling.fundecl
+ ++ Timings.(accumulate_time (Scheduling build)) Scheduling.fundecl
++ pass_dump_linear_if ppf dump_scheduling "After instruction scheduling"
- ++ Emit.fundecl
+ ++ Timings.(accumulate_time (Emit build)) Emit.fundecl
let compile_phrase ppf p =
if !dump_cmm then fprintf ppf "%a@." Printcmm.phrase p;
@@ -99,7 +100,7 @@ let compile_genfuns ppf f =
| _ -> ())
(Cmmgen.generic_functions true [Compilenv.current_unit_infos ()])
-let compile_unit asm_filename keep_asm obj_filename gen =
+let compile_unit ~sourcefile asm_filename keep_asm obj_filename gen =
let create_asm = keep_asm || not !Emitaux.binary_backend_available in
Emitaux.create_asm_file := create_asm;
try
@@ -112,19 +113,25 @@ let compile_unit asm_filename keep_asm obj_filename gen =
if not keep_asm then remove_file asm_filename;
raise exn
end;
- if Proc.assemble_file asm_filename obj_filename <> 0
+ let assemble_result =
+ Timings.(time (Assemble sourcefile))
+ (Proc.assemble_file asm_filename) obj_filename
+ in
+ if assemble_result <> 0
then raise(Error(Assembler_error asm_filename));
if create_asm && not keep_asm then remove_file asm_filename
with exn ->
remove_file obj_filename;
raise exn
-let gen_implementation ?toplevel ppf (size, lam) =
+let gen_implementation ?toplevel ~sourcefile ppf (size, lam) =
Emit.begin_assembly ();
- Closure.intro size lam
+ Timings.(time (Clambda sourcefile)) (Closure.intro size) lam
++ clambda_dump_if ppf
- ++ Cmmgen.compunit size
- ++ List.iter (compile_phrase ppf) ++ (fun () -> ());
+ ++ Timings.(time (Cmm sourcefile)) (Cmmgen.compunit size)
+ ++ Timings.(time (Compile_phrases sourcefile))
+ (List.iter (compile_phrase ppf))
+ ++ (fun () -> ());
(match toplevel with None -> () | Some f -> compile_genfuns ppf f);
(* We add explicit references to external primitive symbols. This
@@ -140,14 +147,14 @@ let gen_implementation ?toplevel ppf (size, lam) =
);
Emit.end_assembly ()
-let compile_implementation ?toplevel prefixname ppf (size, lam) =
+let compile_implementation ?toplevel ~sourcefile prefixname ppf (size, lam) =
let asmfile =
if !keep_asm_file || !Emitaux.binary_backend_available
then prefixname ^ ext_asm
else Filename.temp_file "camlasm" ext_asm
in
- compile_unit asmfile !keep_asm_file (prefixname ^ ext_obj)
- (fun () -> gen_implementation ?toplevel ppf (size, lam))
+ compile_unit sourcefile asmfile !keep_asm_file (prefixname ^ ext_obj)
+ (fun () -> gen_implementation ?toplevel ~sourcefile ppf (size, lam))
(* Error report *)
diff --git a/asmcomp/asmgen.mli b/asmcomp/asmgen.mli
index 0b5aa02294..1424c4df07 100644
--- a/asmcomp/asmgen.mli
+++ b/asmcomp/asmgen.mli
@@ -14,6 +14,7 @@
val compile_implementation :
?toplevel:(string -> bool) ->
+ sourcefile:string ->
string -> Format.formatter -> int * Lambda.lambda -> unit
val compile_phrase :
Format.formatter -> Cmm.phrase -> unit
@@ -24,5 +25,6 @@ val report_error: Format.formatter -> error -> unit
val compile_unit:
+ sourcefile:string ->
string(*asm file*) -> bool(*keep asm*) ->
string(*obj file*) -> (unit -> unit) -> unit
diff --git a/asmcomp/asmlink.ml b/asmcomp/asmlink.ml
index da6ba72e76..9d0f29941d 100644
--- a/asmcomp/asmlink.ml
+++ b/asmcomp/asmlink.ml
@@ -203,7 +203,8 @@ let scan_file obj_name tolink = match read_file obj_name with
let make_startup_file ppf units_list =
let compile_phrase p = Asmgen.compile_phrase ppf p in
Location.input_name := "caml_startup"; (* set name of "current" input *)
- Compilenv.reset "_startup"; (* set the name of the "current" compunit *)
+ Compilenv.reset ~source_provenance:Timings.Startup "_startup";
+ (* set the name of the "current" compunit *)
Emit.begin_assembly ();
let name_list =
List.flatten (List.map (fun (info,_,_) -> info.ui_defines) units_list) in
@@ -236,7 +237,7 @@ let make_startup_file ppf units_list =
let make_shared_startup_file ppf units =
let compile_phrase p = Asmgen.compile_phrase ppf p in
Location.input_name := "caml_startup";
- Compilenv.reset "_shared_startup";
+ Compilenv.reset ~source_provenance:Timings.Startup "_shared_startup";
Emit.begin_assembly ();
List.iter compile_phrase
(Cmmgen.generic_functions true (List.map fst units));
@@ -267,7 +268,7 @@ let link_shared ppf objfiles output_name =
then output_name ^ ".startup" ^ ext_asm
else Filename.temp_file "camlstartup" ext_asm in
let startup_obj = output_name ^ ".startup" ^ ext_obj in
- Asmgen.compile_unit
+ Asmgen.compile_unit ~sourcefile:"startup"
startup !Clflags.keep_startup_file startup_obj
(fun () ->
make_shared_startup_file ppf
@@ -326,7 +327,7 @@ let link ppf objfiles output_name =
then output_name ^ ".startup" ^ ext_asm
else Filename.temp_file "camlstartup" ext_asm in
let startup_obj = Filename.temp_file "camlstartup" ext_obj in
- Asmgen.compile_unit
+ Asmgen.compile_unit ~sourcefile:"startup"
startup !Clflags.keep_startup_file startup_obj
(fun () -> make_startup_file ppf units_tolink);
Misc.try_finally
diff --git a/asmcomp/asmpackager.ml b/asmcomp/asmpackager.ml
index 553d0fe137..0748a8dd98 100644
--- a/asmcomp/asmpackager.ml
+++ b/asmcomp/asmpackager.ml
@@ -91,7 +91,7 @@ let make_package_object ppf members targetobj targetname coercion =
| PM_intf -> None
| PM_impl _ -> Some(Ident.create_persistent m.pm_name))
members in
- Asmgen.compile_implementation
+ Asmgen.compile_implementation ~sourcefile:"pack"
(chop_extension_if_any objtemp) ppf
(Translmod.transl_store_package
components (Ident.create_persistent targetname) coercion);
@@ -175,7 +175,8 @@ let package_files ppf initial_env files targetcmx =
(* Set the name of the current "input" *)
Location.input_name := targetcmx;
(* Set the name of the current compunit *)
- Compilenv.reset ?packname:!Clflags.for_package targetname;
+ Compilenv.reset ~source_provenance:(Timings.Pack targetname)
+ ?packname:!Clflags.for_package targetname;
try
let coercion =
Typemod.package_units initial_env files targetcmi targetname in
diff --git a/asmcomp/compilenv.ml b/asmcomp/compilenv.ml
index a313b97202..bfe69adb0d 100644
--- a/asmcomp/compilenv.ml
+++ b/asmcomp/compilenv.ml
@@ -27,6 +27,8 @@ exception Error of error
let global_infos_table =
(Hashtbl.create 17 : (string, unit_infos option) Hashtbl.t)
+let sourcefile = ref None
+
module CstMap =
Map.Make(struct
type t = Clambda.ustructured_constant
@@ -79,9 +81,10 @@ let symbolname_for_pack pack name =
Buffer.contents b
-let reset ?packname name =
+let reset ?packname ~source_provenance:file name =
Hashtbl.clear global_infos_table;
let symbol = symbolname_for_pack packname name in
+ sourcefile := Some file;
current_unit.ui_name <- name;
current_unit.ui_symbol <- symbol;
current_unit.ui_defines <- [symbol];
@@ -100,6 +103,11 @@ let current_unit_infos () =
let current_unit_name () =
current_unit.ui_name
+let current_build () =
+ match !sourcefile with
+ | None -> assert false
+ | Some v -> v
+
let make_symbol ?(unitname = current_unit.ui_symbol) idopt =
let prefix = "caml" ^ unitname in
match idopt with
diff --git a/asmcomp/compilenv.mli b/asmcomp/compilenv.mli
index 7fae3bade6..5263a6ca1c 100644
--- a/asmcomp/compilenv.mli
+++ b/asmcomp/compilenv.mli
@@ -14,7 +14,8 @@
open Cmx_format
-val reset: ?packname:string -> string -> unit
+val reset: ?packname:string -> source_provenance:Timings.source_provenance ->
+ string -> unit
(* Reset the environment and record the name of the unit being
compiled (arg). Optional argument is [-for-pack] prefix. *)
@@ -24,6 +25,10 @@ val current_unit_infos: unit -> unit_infos
val current_unit_name: unit -> string
(* Return the name of the unit being compiled *)
+val current_build: unit -> Timings.source_provenance
+ (* Return the kind of build source being compiled. If it is a
+ file compilation it also provides the filename. *)
+
val make_symbol: ?unitname:string -> string option -> string
(* [make_symbol ~unitname:u None] returns the asm symbol that
corresponds to the compilation unit [u] (default: the current unit).
diff --git a/asmcomp/i386/NOTES.md b/asmcomp/i386/NOTES.md
new file mode 100644
index 0000000000..2af7eccdfc
--- /dev/null
+++ b/asmcomp/i386/NOTES.md
@@ -0,0 +1,27 @@
+# Supported platforms
+
+Intel and AMD x86 processors in 32-bit mode.
+The baseline is the 80486, also known as `i486`.
+(Debian's baseline is now the Pentium 1.)
+
+Floating-point architecture: x87.
+(SSE2 not available in Debian's baseline.)
+
+Operating systems: Linux, BSD, MacOS X, MS Windows.
+
+Debian architecture name: `i386`
+
+# Reference documents
+
+* Instruction set architecture:
+ any Intel or AMD manual of the last 20 years.
+* ELF application binary interface:
+ _System V Application Binary Interface,
+ Intel386 Architecture Processor Supplement_
+* MacOS X application binary interface:
+ _OS X ABI Function Call Guide: IA-32 Function Calling Conventions_
+
+
+
+
+
diff --git a/asmcomp/power/NOTES.md b/asmcomp/power/NOTES.md
new file mode 100644
index 0000000000..5123680912
--- /dev/null
+++ b/asmcomp/power/NOTES.md
@@ -0,0 +1,27 @@
+# Supported platforms
+
+IBM POWER and Freescale (nee Motorola) PowerPC processors, in three flavors:
+* 32 bits, ELF ABI: Debian's `powerpc`
+* 64 bits big-endian, ELF ABI v1: Debian's `powerpc`
+* 64 bits little-endian, ELF ABI v2: Debian's `ppc64el`
+
+No longer supported: AIX and MacOS X.
+
+# Reference documents
+
+* Instruction set architecture:
+ _PowerPC User Instruction Set Architecture_,
+ book 1 of _PowerPC Architecture Book_
+ (http://www.ibm.com/developerworks/systems/library/es-archguide-v2.html).
+* ELF ABI 32 bits:
+ _System V Application Binary Interface, PowerPC Processor Supplement_
+* ELF ABI 64 bits version 1:
+ _64-bit PowerPC ELF Application Binary Interface Supplement_
+ (http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html)
+* ELF ABI 64 bits version 2:
+ _Power Architecture 64-bit ELF V2 ABI Specification,
+ OpenPOWER ABI for Linux Supplement_
+ (http://openpowerfoundation.org/technical/technical-resources/technical-specifications/)
+* _The PowerPC Compiler Writer's Guide_, Warthman Associates, 1996.
+ (PDF available from various sources on the Web.)
+
diff --git a/asmcomp/s390x/NOTES.md b/asmcomp/s390x/NOTES.md
new file mode 100644
index 0000000000..7c1d55bf88
--- /dev/null
+++ b/asmcomp/s390x/NOTES.md
@@ -0,0 +1,19 @@
+# Supported platforms
+
+IBM z Systems version 10 and up, in 64-bit flat addressing mode,
+running Linux (Debian architecture: `s390x`).
+
+# Reference documents
+
+* Instruction set architecture:
+ _z/Architecture Principles of Operation_,
+ SA22-7832-07, eight edition (Feb 2009).
+ This is the version that corresponds to z10.
+ Newer versions of this manual include additional instructions
+ that are not in z10.
+* ELF ABI:
+ _zSeries ELF Application Binary Interface Supplement_
+ (http://refspecs.linuxfoundation.org/ELF/zSeries/index.html)
+
+
+
diff --git a/asmcomp/sparc/NOTES.md b/asmcomp/sparc/NOTES.md
new file mode 100644
index 0000000000..ab04deed19
--- /dev/null
+++ b/asmcomp/sparc/NOTES.md
@@ -0,0 +1,21 @@
+# Supported platforms
+
+SPARC v8 and up, in 32-bit mode.
+
+Operating systems: Solaris, Linux
+ (abandoned since major Linux distributions no longer support SPARC).
+
+Status of this port: nearly abandoned
+ (no hardware or virtual machine available for testing).
+
+# Reference documents
+
+* Instruction set architecture:
+ _The SPARC Architecture Manual_ version 8.
+* ELF application binary interface:
+ _System V Application Binary Interface,
+ SPARC Processor Supplement_
+
+
+
+
diff --git a/asmrun/.depend b/asmrun/.depend
index f08687a9d5..21159dff29 100644
--- a/asmrun/.depend
+++ b/asmrun/.depend
@@ -1,1074 +1,1556 @@
alloc.o: alloc.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/custom.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/stacks.h ../byterun/caml/memory.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h
array.o: array.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/signals.h
backtrace.o: backtrace.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/backtrace.h ../byterun/caml/exec.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h stack.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/backtrace.h ../byterun/caml/exec.h \
+ ../byterun/caml/backtrace_prim.h ../byterun/caml/backtrace.h \
+ ../byterun/caml/fail.h
+backtrace_prim.o: backtrace_prim.c ../byterun/caml/alloc.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/backtrace.h \
+ ../byterun/caml/exec.h ../byterun/caml/backtrace_prim.h \
+ ../byterun/caml/backtrace.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h stack.h
callback.o: callback.c ../byterun/caml/callback.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/memory.h \
- ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h
compact.o: compact.c ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/finalise.h ../byterun/caml/roots.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/freelist.h \
- ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \
- ../byterun/caml/major_gc.h ../byterun/caml/memory.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
- ../byterun/caml/weak.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/finalise.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/memory.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/weak.h
compare.o: compare.c ../byterun/caml/custom.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
- ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
custom.o: custom.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/memory.h \
- ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/fail.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h
debugger.o: debugger.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/config.h ../byterun/caml/debugger.h \
- ../byterun/caml/misc.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/config.h ../byterun/caml/debugger.h \
+ ../byterun/caml/misc.h
dynlink.o: dynlink.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/dynlink.h \
- ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/osdeps.h ../byterun/caml/prims.h \
- ../byterun/caml/signals.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/dynlink.h \
+ ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/osdeps.h ../byterun/caml/prims.h \
+ ../byterun/caml/signals.h
extern.o: extern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/gc.h \
- ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/io.h \
- ../byterun/caml/md5.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/reverse.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/gc.h \
+ ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/io.h \
+ ../byterun/caml/md5.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/reverse.h
fail.o: fail.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/gc.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/printexc.h ../byterun/caml/signals.h stack.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h \
- ../byterun/caml/callback.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/gc.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h \
+ ../byterun/caml/signals.h stack.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/callback.h
finalise.o: finalise.c ../byterun/caml/callback.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/signals.h
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/fail.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/signals.h
floats.o: floats.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
- ../byterun/caml/reverse.h ../byterun/caml/stacks.h \
- ../byterun/caml/memory.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/reverse.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h
freelist.o: freelist.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/freelist.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/mlvalues.h ../byterun/caml/gc.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/major_gc.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/freelist.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
gc_ctrl.o: gc_ctrl.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/compact.h ../byterun/caml/custom.h \
- ../byterun/caml/finalise.h ../byterun/caml/roots.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/freelist.h \
- ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h stack.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/backtrace.h ../byterun/caml/exec.h \
+ ../byterun/caml/compact.h ../byterun/caml/custom.h \
+ ../byterun/caml/fail.h ../byterun/caml/finalise.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/memory.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/signals.h stack.h ../byterun/caml/startup_aux.h
globroots.o: globroots.c ../byterun/caml/memory.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/gc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h \
- ../byterun/caml/globroots.h ../byterun/caml/roots.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h \
+ ../byterun/caml/globroots.h ../byterun/caml/roots.h
hash.o: hash.c ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/custom.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/hash.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/custom.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/hash.h
intern.o: intern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/callback.h ../byterun/caml/custom.h \
- ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/intext.h \
- ../byterun/caml/io.h ../byterun/caml/io.h ../byterun/caml/md5.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/misc.h ../byterun/caml/reverse.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/callback.h ../byterun/caml/custom.h \
+ ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/intext.h \
+ ../byterun/caml/io.h ../byterun/caml/io.h ../byterun/caml/md5.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/reverse.h
ints.o: ints.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/intext.h \
- ../byterun/caml/io.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/fail.h \
+ ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h
io.o: io.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/custom.h \
- ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/memory.h \
- ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/signals.h \
- ../byterun/caml/sys.h
+ ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/custom.h \
+ ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/signals.h \
+ ../byterun/caml/sys.h
lexing.o: lexing.c ../byterun/caml/fail.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h
main.o: main.c ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/misc.h ../byterun/caml/sys.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h ../byterun/caml/sys.h
major_gc.o: major_gc.c ../byterun/caml/compact.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/custom.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/fail.h ../byterun/caml/finalise.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/freelist.h ../byterun/caml/gc.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/roots.h ../byterun/caml/weak.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/custom.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/fail.h ../byterun/caml/finalise.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/weak.h
md5.o: md5.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/md5.h ../byterun/caml/io.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/io.h ../byterun/caml/reverse.h
-memory.o: memory.c ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/freelist.h ../byterun/caml/gc.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/signals.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/md5.h ../byterun/caml/io.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/io.h \
+ ../byterun/caml/reverse.h
+memory.o: memory.c ../byterun/caml/address_class.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/fail.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/signals.h
meta.o: meta.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/config.h ../byterun/caml/fail.h \
- ../byterun/caml/fix_code.h ../byterun/caml/interp.h \
- ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/prims.h ../byterun/caml/stacks.h \
- ../byterun/caml/memory.h
-minor_gc.o: minor_gc.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/fail.h ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/finalise.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \
- ../byterun/caml/major_gc.h ../byterun/caml/memory.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
- ../byterun/caml/signals.h ../byterun/caml/weak.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/config.h ../byterun/caml/fail.h \
+ ../byterun/caml/fix_code.h ../byterun/caml/interp.h \
+ ../byterun/caml/intext.h ../byterun/caml/io.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/prims.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h
+minor_gc.o: minor_gc.c ../byterun/caml/custom.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h ../byterun/caml/fail.h \
+ ../byterun/caml/finalise.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/memory.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
+ ../byterun/caml/signals.h ../byterun/caml/weak.h
misc.o: misc.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/version.h
natdynlink.o: natdynlink.c ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h stack.h ../byterun/caml/callback.h \
- ../byterun/caml/alloc.h ../byterun/caml/intext.h ../byterun/caml/io.h \
- ../byterun/caml/osdeps.h ../byterun/caml/fail.h \
- ../byterun/caml/signals.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h stack.h ../byterun/caml/callback.h \
+ ../byterun/caml/alloc.h ../byterun/caml/intext.h ../byterun/caml/io.h \
+ ../byterun/caml/osdeps.h ../byterun/caml/fail.h \
+ ../byterun/caml/signals.h
obj.o: obj.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/interp.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/prims.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/interp.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/prims.h
parsing.o: parsing.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/alloc.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/alloc.h
printexc.o: printexc.c ../byterun/caml/backtrace.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/exec.h ../byterun/caml/callback.h \
- ../byterun/caml/debugger.h ../byterun/caml/fail.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/exec.h \
+ ../byterun/caml/callback.h ../byterun/caml/debugger.h \
+ ../byterun/caml/fail.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h
roots.o: roots.c ../byterun/caml/finalise.h ../byterun/caml/roots.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/globroots.h ../byterun/caml/memory.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h stack.h \
- ../byterun/caml/roots.h
-signals_asm.o: signals_asm.c ../byterun/caml/fail.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/osdeps.h ../byterun/caml/signals.h \
- ../byterun/caml/signals_machdep.h signals_osdep.h stack.h
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/globroots.h \
+ ../byterun/caml/memory.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h stack.h ../byterun/caml/roots.h
signals.o: signals.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/callback.h ../byterun/caml/config.h \
- ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h \
- ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \
- ../byterun/caml/sys.h
-startup_aux.o: startup_aux.c ../byterun/caml/backtrace.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/exec.h ../byterun/caml/memory.h \
- ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/startup_aux.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/callback.h ../byterun/caml/config.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h \
+ ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \
+ ../byterun/caml/sys.h
+signals_asm.o: signals_asm.c ../byterun/caml/fail.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/osdeps.h \
+ ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \
+ signals_osdep.h stack.h
startup.o: startup.c ../byterun/caml/callback.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/backtrace.h \
- ../byterun/caml/exec.h ../byterun/caml/custom.h \
- ../byterun/caml/debugger.h ../byterun/caml/fail.h \
- ../byterun/caml/freelist.h ../byterun/caml/gc.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/intext.h ../byterun/caml/io.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \
- ../byterun/caml/printexc.h stack.h ../byterun/caml/startup_aux.h \
- ../byterun/caml/sys.h
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/backtrace.h \
+ ../byterun/caml/exec.h ../byterun/caml/custom.h \
+ ../byterun/caml/debugger.h ../byterun/caml/fail.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/intext.h ../byterun/caml/io.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/osdeps.h ../byterun/caml/printexc.h stack.h \
+ ../byterun/caml/startup_aux.h ../byterun/caml/sys.h
+startup_aux.o: startup_aux.c ../byterun/caml/backtrace.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/exec.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/startup_aux.h
str.o: str.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/mlvalues.h ../byterun/caml/misc.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/misc.h
sys.o: sys.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/debugger.h \
- ../byterun/caml/fail.h ../byterun/caml/instruct.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \
- ../byterun/caml/signals.h ../byterun/caml/stacks.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/sys.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/io.h
+ ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/debugger.h \
+ ../byterun/caml/fail.h ../byterun/caml/gc_ctrl.h \
+ ../byterun/caml/instruct.h ../byterun/caml/io.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \
+ ../byterun/caml/signals.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/sys.h
terminfo.o: terminfo.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/fail.h ../byterun/caml/io.h \
- ../byterun/caml/mlvalues.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/fail.h ../byterun/caml/io.h \
+ ../byterun/caml/mlvalues.h
unix.o: unix.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/memory.h \
- ../byterun/caml/config.h ../byterun/caml/gc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/misc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/osdeps.h
+ ../byterun/caml/../../config/s.h ../byterun/caml/memory.h \
+ ../byterun/caml/config.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/osdeps.h
weak.o: weak.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h
-alloc.d.o: alloc.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/custom.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/stacks.h ../byterun/caml/memory.h
-array.d.o: array.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
-backtrace.d.o: backtrace.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/backtrace.h ../byterun/caml/exec.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h stack.h
-callback.d.o: callback.c ../byterun/caml/callback.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/memory.h \
- ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h
-compact.d.o: compact.c ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/finalise.h ../byterun/caml/roots.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/freelist.h \
- ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \
- ../byterun/caml/major_gc.h ../byterun/caml/memory.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
- ../byterun/caml/weak.h
-compare.d.o: compare.c ../byterun/caml/custom.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
- ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
-custom.d.o: custom.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/memory.h \
- ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h
-debugger.d.o: debugger.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/config.h ../byterun/caml/debugger.h \
- ../byterun/caml/misc.h
-dynlink.d.o: dynlink.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/dynlink.h \
- ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/osdeps.h ../byterun/caml/prims.h \
- ../byterun/caml/signals.h
-extern.d.o: extern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/gc.h \
- ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/io.h \
- ../byterun/caml/md5.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/reverse.h
-fail.d.o: fail.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/gc.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/printexc.h ../byterun/caml/signals.h stack.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h \
- ../byterun/caml/callback.h
-finalise.d.o: finalise.c ../byterun/caml/callback.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/signals.h
-floats.d.o: floats.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
- ../byterun/caml/reverse.h ../byterun/caml/stacks.h \
- ../byterun/caml/memory.h
-freelist.d.o: freelist.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/freelist.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/mlvalues.h ../byterun/caml/gc.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/major_gc.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h
-gc_ctrl.d.o: gc_ctrl.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/compact.h ../byterun/caml/custom.h \
- ../byterun/caml/finalise.h ../byterun/caml/roots.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/freelist.h \
- ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h stack.h
-globroots.d.o: globroots.c ../byterun/caml/memory.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/gc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h \
- ../byterun/caml/globroots.h ../byterun/caml/roots.h
-hash.d.o: hash.c ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/custom.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/hash.h
-intern.d.o: intern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/callback.h ../byterun/caml/custom.h \
- ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/intext.h \
- ../byterun/caml/io.h ../byterun/caml/io.h ../byterun/caml/md5.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/misc.h ../byterun/caml/reverse.h
-ints.d.o: ints.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/intext.h \
- ../byterun/caml/io.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
-io.d.o: io.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/custom.h \
- ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/memory.h \
- ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/signals.h \
- ../byterun/caml/sys.h
-lexing.d.o: lexing.c ../byterun/caml/fail.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h
-main.d.o: main.c ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/misc.h ../byterun/caml/sys.h
-major_gc.d.o: major_gc.c ../byterun/caml/compact.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/custom.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/fail.h ../byterun/caml/finalise.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/freelist.h ../byterun/caml/gc.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/roots.h ../byterun/caml/weak.h
-md5.d.o: md5.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/md5.h ../byterun/caml/io.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/io.h ../byterun/caml/reverse.h
-memory.d.o: memory.c ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/freelist.h ../byterun/caml/gc.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/signals.h
-meta.d.o: meta.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/config.h ../byterun/caml/fail.h \
- ../byterun/caml/fix_code.h ../byterun/caml/interp.h \
- ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/prims.h ../byterun/caml/stacks.h \
- ../byterun/caml/memory.h
-minor_gc.d.o: minor_gc.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/fail.h ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/finalise.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \
- ../byterun/caml/major_gc.h ../byterun/caml/memory.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
- ../byterun/caml/signals.h ../byterun/caml/weak.h
-misc.d.o: misc.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h
-natdynlink.d.o: natdynlink.c ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h stack.h ../byterun/caml/callback.h \
- ../byterun/caml/alloc.h ../byterun/caml/intext.h ../byterun/caml/io.h \
- ../byterun/caml/osdeps.h ../byterun/caml/fail.h \
- ../byterun/caml/signals.h
-obj.d.o: obj.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/interp.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/prims.h
-parsing.d.o: parsing.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/alloc.h
-printexc.d.o: printexc.c ../byterun/caml/backtrace.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/exec.h ../byterun/caml/callback.h \
- ../byterun/caml/debugger.h ../byterun/caml/fail.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h
-roots.d.o: roots.c ../byterun/caml/finalise.h ../byterun/caml/roots.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/globroots.h ../byterun/caml/memory.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h stack.h \
- ../byterun/caml/roots.h
-signals_asm.d.o: signals_asm.c ../byterun/caml/fail.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/osdeps.h ../byterun/caml/signals.h \
- ../byterun/caml/signals_machdep.h signals_osdep.h stack.h
-signals.d.o: signals.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/callback.h ../byterun/caml/config.h \
- ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h \
- ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \
- ../byterun/caml/sys.h
-startup_aux.d.o: startup_aux.c ../byterun/caml/backtrace.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/exec.h ../byterun/caml/memory.h \
- ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/startup_aux.h
-startup.d.o: startup.c ../byterun/caml/callback.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/backtrace.h \
- ../byterun/caml/exec.h ../byterun/caml/custom.h \
- ../byterun/caml/debugger.h ../byterun/caml/fail.h \
- ../byterun/caml/freelist.h ../byterun/caml/gc.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/intext.h ../byterun/caml/io.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \
- ../byterun/caml/printexc.h stack.h ../byterun/caml/startup_aux.h \
- ../byterun/caml/sys.h
-str.d.o: str.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/mlvalues.h ../byterun/caml/misc.h
-sys.d.o: sys.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/debugger.h \
- ../byterun/caml/fail.h ../byterun/caml/instruct.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \
- ../byterun/caml/signals.h ../byterun/caml/stacks.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/sys.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/io.h
-terminfo.d.o: terminfo.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/fail.h ../byterun/caml/io.h \
- ../byterun/caml/mlvalues.h
-unix.d.o: unix.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/memory.h \
- ../byterun/caml/config.h ../byterun/caml/gc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/misc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/osdeps.h
-weak.d.o: weak.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h
alloc.p.o: alloc.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/custom.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/stacks.h ../byterun/caml/memory.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h
array.p.o: array.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/signals.h
backtrace.p.o: backtrace.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/backtrace.h ../byterun/caml/exec.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h stack.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/backtrace.h ../byterun/caml/exec.h \
+ ../byterun/caml/backtrace_prim.h ../byterun/caml/backtrace.h \
+ ../byterun/caml/fail.h
+backtrace_prim.p.o: backtrace_prim.c ../byterun/caml/alloc.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/backtrace.h \
+ ../byterun/caml/exec.h ../byterun/caml/backtrace_prim.h \
+ ../byterun/caml/backtrace.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h stack.h
callback.p.o: callback.c ../byterun/caml/callback.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/memory.h \
- ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h
compact.p.o: compact.c ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/finalise.h ../byterun/caml/roots.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/freelist.h \
- ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \
- ../byterun/caml/major_gc.h ../byterun/caml/memory.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
- ../byterun/caml/weak.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/finalise.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/memory.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/weak.h
compare.p.o: compare.c ../byterun/caml/custom.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
- ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
custom.p.o: custom.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/memory.h \
- ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/fail.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h
debugger.p.o: debugger.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/config.h ../byterun/caml/debugger.h \
- ../byterun/caml/misc.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/config.h ../byterun/caml/debugger.h \
+ ../byterun/caml/misc.h
dynlink.p.o: dynlink.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/dynlink.h \
- ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/osdeps.h ../byterun/caml/prims.h \
- ../byterun/caml/signals.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/dynlink.h \
+ ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/osdeps.h ../byterun/caml/prims.h \
+ ../byterun/caml/signals.h
extern.p.o: extern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/gc.h \
- ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/io.h \
- ../byterun/caml/md5.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/reverse.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/gc.h \
+ ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/io.h \
+ ../byterun/caml/md5.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/reverse.h
fail.p.o: fail.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/gc.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/printexc.h ../byterun/caml/signals.h stack.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h \
- ../byterun/caml/callback.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/gc.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h \
+ ../byterun/caml/signals.h stack.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/callback.h
finalise.p.o: finalise.c ../byterun/caml/callback.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/signals.h
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/fail.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/signals.h
floats.p.o: floats.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
- ../byterun/caml/reverse.h ../byterun/caml/stacks.h \
- ../byterun/caml/memory.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/reverse.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h
freelist.p.o: freelist.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/freelist.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/mlvalues.h ../byterun/caml/gc.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/major_gc.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/freelist.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
gc_ctrl.p.o: gc_ctrl.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/compact.h ../byterun/caml/custom.h \
- ../byterun/caml/finalise.h ../byterun/caml/roots.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/freelist.h \
- ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h stack.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/backtrace.h ../byterun/caml/exec.h \
+ ../byterun/caml/compact.h ../byterun/caml/custom.h \
+ ../byterun/caml/fail.h ../byterun/caml/finalise.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/memory.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/signals.h stack.h ../byterun/caml/startup_aux.h
globroots.p.o: globroots.c ../byterun/caml/memory.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/gc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h \
- ../byterun/caml/globroots.h ../byterun/caml/roots.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h \
+ ../byterun/caml/globroots.h ../byterun/caml/roots.h
hash.p.o: hash.c ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/custom.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/hash.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/custom.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/hash.h
intern.p.o: intern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/callback.h ../byterun/caml/custom.h \
- ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/intext.h \
- ../byterun/caml/io.h ../byterun/caml/io.h ../byterun/caml/md5.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/misc.h ../byterun/caml/reverse.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/callback.h ../byterun/caml/custom.h \
+ ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/intext.h \
+ ../byterun/caml/io.h ../byterun/caml/io.h ../byterun/caml/md5.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/reverse.h
ints.p.o: ints.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/intext.h \
- ../byterun/caml/io.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/fail.h \
+ ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h
io.p.o: io.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/custom.h \
- ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/memory.h \
- ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/signals.h \
- ../byterun/caml/sys.h
+ ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/custom.h \
+ ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/signals.h \
+ ../byterun/caml/sys.h
lexing.p.o: lexing.c ../byterun/caml/fail.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h
main.p.o: main.c ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/misc.h ../byterun/caml/sys.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h ../byterun/caml/sys.h
major_gc.p.o: major_gc.c ../byterun/caml/compact.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/custom.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/fail.h ../byterun/caml/finalise.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/freelist.h ../byterun/caml/gc.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/roots.h ../byterun/caml/weak.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/custom.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/fail.h ../byterun/caml/finalise.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/weak.h
md5.p.o: md5.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/md5.h ../byterun/caml/io.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/io.h ../byterun/caml/reverse.h
-memory.p.o: memory.c ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/freelist.h ../byterun/caml/gc.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/signals.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/md5.h ../byterun/caml/io.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/io.h \
+ ../byterun/caml/reverse.h
+memory.p.o: memory.c ../byterun/caml/address_class.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/fail.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/signals.h
meta.p.o: meta.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/config.h ../byterun/caml/fail.h \
- ../byterun/caml/fix_code.h ../byterun/caml/interp.h \
- ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/prims.h ../byterun/caml/stacks.h \
- ../byterun/caml/memory.h
-minor_gc.p.o: minor_gc.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/fail.h ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/finalise.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \
- ../byterun/caml/major_gc.h ../byterun/caml/memory.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
- ../byterun/caml/signals.h ../byterun/caml/weak.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/config.h ../byterun/caml/fail.h \
+ ../byterun/caml/fix_code.h ../byterun/caml/interp.h \
+ ../byterun/caml/intext.h ../byterun/caml/io.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/prims.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h
+minor_gc.p.o: minor_gc.c ../byterun/caml/custom.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h ../byterun/caml/fail.h \
+ ../byterun/caml/finalise.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/memory.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
+ ../byterun/caml/signals.h ../byterun/caml/weak.h
misc.p.o: misc.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/version.h
natdynlink.p.o: natdynlink.c ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h stack.h ../byterun/caml/callback.h \
- ../byterun/caml/alloc.h ../byterun/caml/intext.h ../byterun/caml/io.h \
- ../byterun/caml/osdeps.h ../byterun/caml/fail.h \
- ../byterun/caml/signals.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h stack.h ../byterun/caml/callback.h \
+ ../byterun/caml/alloc.h ../byterun/caml/intext.h ../byterun/caml/io.h \
+ ../byterun/caml/osdeps.h ../byterun/caml/fail.h \
+ ../byterun/caml/signals.h
obj.p.o: obj.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/interp.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/prims.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/interp.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/prims.h
parsing.p.o: parsing.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/alloc.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/alloc.h
printexc.p.o: printexc.c ../byterun/caml/backtrace.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/exec.h ../byterun/caml/callback.h \
- ../byterun/caml/debugger.h ../byterun/caml/fail.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/exec.h \
+ ../byterun/caml/callback.h ../byterun/caml/debugger.h \
+ ../byterun/caml/fail.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h
roots.p.o: roots.c ../byterun/caml/finalise.h ../byterun/caml/roots.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/globroots.h ../byterun/caml/memory.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h stack.h \
- ../byterun/caml/roots.h
-signals_asm.p.o: signals_asm.c ../byterun/caml/fail.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/osdeps.h ../byterun/caml/signals.h \
- ../byterun/caml/signals_machdep.h signals_osdep.h stack.h
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/globroots.h \
+ ../byterun/caml/memory.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h stack.h ../byterun/caml/roots.h
signals.p.o: signals.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/callback.h ../byterun/caml/config.h \
- ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
- ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
- ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/roots.h ../byterun/caml/memory.h \
- ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \
- ../byterun/caml/sys.h
-startup_aux.p.o: startup_aux.c ../byterun/caml/backtrace.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/exec.h ../byterun/caml/memory.h \
- ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/startup_aux.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/callback.h ../byterun/caml/config.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h \
+ ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \
+ ../byterun/caml/sys.h
+signals_asm.p.o: signals_asm.c ../byterun/caml/fail.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/osdeps.h \
+ ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \
+ signals_osdep.h stack.h
startup.p.o: startup.c ../byterun/caml/callback.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/misc.h ../byterun/caml/backtrace.h \
- ../byterun/caml/exec.h ../byterun/caml/custom.h \
- ../byterun/caml/debugger.h ../byterun/caml/fail.h \
- ../byterun/caml/freelist.h ../byterun/caml/gc.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/intext.h ../byterun/caml/io.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \
- ../byterun/caml/printexc.h stack.h ../byterun/caml/startup_aux.h \
- ../byterun/caml/sys.h
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/backtrace.h \
+ ../byterun/caml/exec.h ../byterun/caml/custom.h \
+ ../byterun/caml/debugger.h ../byterun/caml/fail.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/intext.h ../byterun/caml/io.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/osdeps.h ../byterun/caml/printexc.h stack.h \
+ ../byterun/caml/startup_aux.h ../byterun/caml/sys.h
+startup_aux.p.o: startup_aux.c ../byterun/caml/backtrace.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/exec.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/startup_aux.h
str.p.o: str.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/mlvalues.h ../byterun/caml/misc.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/misc.h
sys.p.o: sys.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
- ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/debugger.h \
- ../byterun/caml/fail.h ../byterun/caml/instruct.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \
- ../byterun/caml/signals.h ../byterun/caml/stacks.h \
- ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/sys.h \
- ../byterun/caml/gc_ctrl.h ../byterun/caml/io.h
+ ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/debugger.h \
+ ../byterun/caml/fail.h ../byterun/caml/gc_ctrl.h \
+ ../byterun/caml/instruct.h ../byterun/caml/io.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \
+ ../byterun/caml/signals.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/sys.h
terminfo.p.o: terminfo.c ../byterun/caml/config.h \
- ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
- ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
- ../byterun/caml/mlvalues.h ../byterun/caml/fail.h ../byterun/caml/io.h \
- ../byterun/caml/mlvalues.h
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/fail.h ../byterun/caml/io.h \
+ ../byterun/caml/mlvalues.h
unix.p.o: unix.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/memory.h \
- ../byterun/caml/config.h ../byterun/caml/gc.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/misc.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/misc.h \
- ../byterun/caml/osdeps.h
+ ../byterun/caml/../../config/s.h ../byterun/caml/memory.h \
+ ../byterun/caml/config.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/osdeps.h
weak.p.o: weak.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
- ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
- ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
- ../byterun/caml/fail.h ../byterun/caml/major_gc.h \
- ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
- ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
- ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h
+alloc.d.o: alloc.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h
+array.d.o: array.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/signals.h
+backtrace.d.o: backtrace.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/backtrace.h ../byterun/caml/exec.h \
+ ../byterun/caml/backtrace_prim.h ../byterun/caml/backtrace.h \
+ ../byterun/caml/fail.h
+backtrace_prim.d.o: backtrace_prim.c ../byterun/caml/alloc.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/backtrace.h \
+ ../byterun/caml/exec.h ../byterun/caml/backtrace_prim.h \
+ ../byterun/caml/backtrace.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h stack.h
+callback.d.o: callback.c ../byterun/caml/callback.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h
+compact.d.o: compact.c ../byterun/caml/address_class.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/finalise.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/memory.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/weak.h
+compare.d.o: compare.c ../byterun/caml/custom.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
+custom.d.o: custom.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/fail.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h
+debugger.d.o: debugger.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/config.h ../byterun/caml/debugger.h \
+ ../byterun/caml/misc.h
+dynlink.d.o: dynlink.c ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/dynlink.h \
+ ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/osdeps.h ../byterun/caml/prims.h \
+ ../byterun/caml/signals.h
+extern.d.o: extern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/gc.h \
+ ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/io.h \
+ ../byterun/caml/md5.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/reverse.h
+fail.d.o: fail.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/gc.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h \
+ ../byterun/caml/signals.h stack.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/callback.h
+finalise.d.o: finalise.c ../byterun/caml/callback.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/fail.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/signals.h
+floats.d.o: floats.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/reverse.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h
+freelist.d.o: freelist.c ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/freelist.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
+gc_ctrl.d.o: gc_ctrl.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/backtrace.h ../byterun/caml/exec.h \
+ ../byterun/caml/compact.h ../byterun/caml/custom.h \
+ ../byterun/caml/fail.h ../byterun/caml/finalise.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/memory.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/signals.h stack.h ../byterun/caml/startup_aux.h
+globroots.d.o: globroots.c ../byterun/caml/memory.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h \
+ ../byterun/caml/globroots.h ../byterun/caml/roots.h
+hash.d.o: hash.c ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/custom.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/hash.h
+intern.d.o: intern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/callback.h ../byterun/caml/custom.h \
+ ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/intext.h \
+ ../byterun/caml/io.h ../byterun/caml/io.h ../byterun/caml/md5.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/reverse.h
+ints.d.o: ints.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/fail.h \
+ ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h
+io.d.o: io.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/custom.h \
+ ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/signals.h \
+ ../byterun/caml/sys.h
+lexing.d.o: lexing.c ../byterun/caml/fail.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h
+main.d.o: main.c ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h ../byterun/caml/sys.h
+major_gc.d.o: major_gc.c ../byterun/caml/compact.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/custom.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/fail.h ../byterun/caml/finalise.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/weak.h
+md5.d.o: md5.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/md5.h ../byterun/caml/io.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/io.h \
+ ../byterun/caml/reverse.h
+memory.d.o: memory.c ../byterun/caml/address_class.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/fail.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/signals.h
+meta.d.o: meta.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/config.h ../byterun/caml/fail.h \
+ ../byterun/caml/fix_code.h ../byterun/caml/interp.h \
+ ../byterun/caml/intext.h ../byterun/caml/io.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/prims.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h
+minor_gc.d.o: minor_gc.c ../byterun/caml/custom.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h ../byterun/caml/fail.h \
+ ../byterun/caml/finalise.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/memory.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
+ ../byterun/caml/signals.h ../byterun/caml/weak.h
+misc.d.o: misc.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/version.h
+natdynlink.d.o: natdynlink.c ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h stack.h ../byterun/caml/callback.h \
+ ../byterun/caml/alloc.h ../byterun/caml/intext.h ../byterun/caml/io.h \
+ ../byterun/caml/osdeps.h ../byterun/caml/fail.h \
+ ../byterun/caml/signals.h
+obj.d.o: obj.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/interp.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/prims.h
+parsing.d.o: parsing.c ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/alloc.h
+printexc.d.o: printexc.c ../byterun/caml/backtrace.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/exec.h \
+ ../byterun/caml/callback.h ../byterun/caml/debugger.h \
+ ../byterun/caml/fail.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h
+roots.d.o: roots.c ../byterun/caml/finalise.h ../byterun/caml/roots.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/globroots.h \
+ ../byterun/caml/memory.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h stack.h ../byterun/caml/roots.h
+signals.d.o: signals.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/callback.h ../byterun/caml/config.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h \
+ ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \
+ ../byterun/caml/sys.h
+signals_asm.d.o: signals_asm.c ../byterun/caml/fail.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/osdeps.h \
+ ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \
+ signals_osdep.h stack.h
+startup.d.o: startup.c ../byterun/caml/callback.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/backtrace.h \
+ ../byterun/caml/exec.h ../byterun/caml/custom.h \
+ ../byterun/caml/debugger.h ../byterun/caml/fail.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/intext.h ../byterun/caml/io.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/osdeps.h ../byterun/caml/printexc.h stack.h \
+ ../byterun/caml/startup_aux.h ../byterun/caml/sys.h
+startup_aux.d.o: startup_aux.c ../byterun/caml/backtrace.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/exec.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/startup_aux.h
+str.d.o: str.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/misc.h
+sys.d.o: sys.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/debugger.h \
+ ../byterun/caml/fail.h ../byterun/caml/gc_ctrl.h \
+ ../byterun/caml/instruct.h ../byterun/caml/io.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \
+ ../byterun/caml/signals.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/sys.h
+terminfo.d.o: terminfo.c ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/fail.h ../byterun/caml/io.h \
+ ../byterun/caml/mlvalues.h
+unix.d.o: unix.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/memory.h \
+ ../byterun/caml/config.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/osdeps.h
+weak.d.o: weak.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h
+alloc.i.o: alloc.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h
+array.i.o: array.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/signals.h
+backtrace.i.o: backtrace.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/backtrace.h ../byterun/caml/exec.h \
+ ../byterun/caml/backtrace_prim.h ../byterun/caml/backtrace.h \
+ ../byterun/caml/fail.h
+backtrace_prim.i.o: backtrace_prim.c ../byterun/caml/alloc.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/backtrace.h \
+ ../byterun/caml/exec.h ../byterun/caml/backtrace_prim.h \
+ ../byterun/caml/backtrace.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h stack.h
+callback.i.o: callback.c ../byterun/caml/callback.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h
+compact.i.o: compact.c ../byterun/caml/address_class.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/finalise.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/memory.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/weak.h
+compare.i.o: compare.c ../byterun/caml/custom.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
+custom.i.o: custom.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/fail.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h
+debugger.i.o: debugger.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/config.h ../byterun/caml/debugger.h \
+ ../byterun/caml/misc.h
+dynlink.i.o: dynlink.c ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/dynlink.h \
+ ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/osdeps.h ../byterun/caml/prims.h \
+ ../byterun/caml/signals.h
+extern.i.o: extern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/gc.h \
+ ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/io.h \
+ ../byterun/caml/md5.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/reverse.h
+fail.i.o: fail.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/gc.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h \
+ ../byterun/caml/signals.h stack.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/callback.h
+finalise.i.o: finalise.c ../byterun/caml/callback.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/fail.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/signals.h
+floats.i.o: floats.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/reverse.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h
+freelist.i.o: freelist.c ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/freelist.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h
+gc_ctrl.i.o: gc_ctrl.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/backtrace.h ../byterun/caml/exec.h \
+ ../byterun/caml/compact.h ../byterun/caml/custom.h \
+ ../byterun/caml/fail.h ../byterun/caml/finalise.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/memory.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/signals.h stack.h ../byterun/caml/startup_aux.h
+globroots.i.o: globroots.c ../byterun/caml/memory.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h \
+ ../byterun/caml/globroots.h ../byterun/caml/roots.h
+hash.i.o: hash.c ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/custom.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/hash.h
+intern.i.o: intern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/callback.h ../byterun/caml/custom.h \
+ ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/intext.h \
+ ../byterun/caml/io.h ../byterun/caml/io.h ../byterun/caml/md5.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/reverse.h
+ints.i.o: ints.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/custom.h ../byterun/caml/fail.h \
+ ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h
+io.i.o: io.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/custom.h \
+ ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/signals.h \
+ ../byterun/caml/sys.h
+lexing.i.o: lexing.c ../byterun/caml/fail.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h
+main.i.o: main.c ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h ../byterun/caml/sys.h
+major_gc.i.o: major_gc.c ../byterun/caml/compact.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/custom.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/fail.h ../byterun/caml/finalise.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/weak.h
+md5.i.o: md5.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/md5.h ../byterun/caml/io.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/io.h \
+ ../byterun/caml/reverse.h
+memory.i.o: memory.c ../byterun/caml/address_class.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/fail.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/signals.h
+meta.i.o: meta.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/config.h ../byterun/caml/fail.h \
+ ../byterun/caml/fix_code.h ../byterun/caml/interp.h \
+ ../byterun/caml/intext.h ../byterun/caml/io.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/prims.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h
+minor_gc.i.o: minor_gc.c ../byterun/caml/custom.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h ../byterun/caml/fail.h \
+ ../byterun/caml/finalise.h ../byterun/caml/roots.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/memory.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \
+ ../byterun/caml/signals.h ../byterun/caml/weak.h
+misc.i.o: misc.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/version.h
+natdynlink.i.o: natdynlink.c ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h stack.h ../byterun/caml/callback.h \
+ ../byterun/caml/alloc.h ../byterun/caml/intext.h ../byterun/caml/io.h \
+ ../byterun/caml/osdeps.h ../byterun/caml/fail.h \
+ ../byterun/caml/signals.h
+obj.i.o: obj.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/interp.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/prims.h
+parsing.i.o: parsing.c ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/alloc.h
+printexc.i.o: printexc.c ../byterun/caml/backtrace.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/exec.h \
+ ../byterun/caml/callback.h ../byterun/caml/debugger.h \
+ ../byterun/caml/fail.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h
+roots.i.o: roots.c ../byterun/caml/finalise.h ../byterun/caml/roots.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/globroots.h \
+ ../byterun/caml/memory.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h stack.h ../byterun/caml/roots.h
+signals.i.o: signals.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/callback.h ../byterun/caml/config.h \
+ ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/roots.h ../byterun/caml/memory.h \
+ ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \
+ ../byterun/caml/sys.h
+signals_asm.i.o: signals_asm.c ../byterun/caml/fail.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/osdeps.h \
+ ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \
+ signals_osdep.h stack.h
+startup.i.o: startup.c ../byterun/caml/callback.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/backtrace.h \
+ ../byterun/caml/exec.h ../byterun/caml/custom.h \
+ ../byterun/caml/debugger.h ../byterun/caml/fail.h \
+ ../byterun/caml/freelist.h ../byterun/caml/gc.h \
+ ../byterun/caml/gc_ctrl.h ../byterun/caml/intext.h ../byterun/caml/io.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/osdeps.h ../byterun/caml/printexc.h stack.h \
+ ../byterun/caml/startup_aux.h ../byterun/caml/sys.h
+startup_aux.i.o: startup_aux.c ../byterun/caml/backtrace.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/misc.h ../byterun/caml/exec.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \
+ ../byterun/caml/address_class.h ../byterun/caml/startup_aux.h
+str.i.o: str.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/misc.h
+sys.i.o: sys.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \
+ ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/debugger.h \
+ ../byterun/caml/fail.h ../byterun/caml/gc_ctrl.h \
+ ../byterun/caml/instruct.h ../byterun/caml/io.h ../byterun/caml/misc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \
+ ../byterun/caml/signals.h ../byterun/caml/stacks.h \
+ ../byterun/caml/memory.h ../byterun/caml/gc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/sys.h
+terminfo.i.o: terminfo.c ../byterun/caml/config.h \
+ ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \
+ ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/fail.h ../byterun/caml/io.h \
+ ../byterun/caml/mlvalues.h
+unix.i.o: unix.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/memory.h \
+ ../byterun/caml/config.h ../byterun/caml/gc.h \
+ ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \
+ ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/misc.h ../byterun/caml/osdeps.h
+weak.i.o: weak.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \
+ ../byterun/caml/config.h ../byterun/caml/../../config/m.h \
+ ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \
+ ../byterun/caml/fail.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/freelist.h ../byterun/caml/memory.h \
+ ../byterun/caml/gc.h ../byterun/caml/major_gc.h \
+ ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \
+ ../byterun/caml/mlvalues.h
diff --git a/asmrun/Makefile b/asmrun/Makefile
index 5df3164bdf..32c00597bb 100644
--- a/asmrun/Makefile
+++ b/asmrun/Makefile
@@ -18,12 +18,13 @@ FLAGS=-I../byterun -DCAML_NAME_SPACE -DNATIVE_CODE \
-DTARGET_$(ARCH) -DMODEL_$(MODEL) -DSYS_$(SYSTEM) $(IFLEXDIR)
CFLAGS=$(FLAGS) $(NATIVECCCOMPOPTS)
DFLAGS=$(FLAGS) -g -DDEBUG $(NATIVECCCOMPOPTS)
+IFLAGS=$(FLAGS) -DCAML_INSTR
PFLAGS=$(FLAGS) -pg -DPROFILING $(NATIVECCPROFOPTS) $(NATIVECCCOMPOPTS)
PICFLAGS=$(FLAGS) $(SHAREDCCCOMPOPTS) $(NATIVECCCOMPOPTS)
COBJS=startup_aux.o startup.o \
main.o fail.o roots.o globroots.o signals.o signals_asm.o \
- misc.o freelist.o major_gc.o minor_gc.o memory.o alloc.o compare.o ints.o \
+ freelist.o misc.o major_gc.o minor_gc.o memory.o alloc.o compare.o ints.o \
floats.o str.o array.o io.o extern.o intern.o hash.o sys.o parsing.o \
gc_ctrl.o terminfo.o md5.o obj.o lexing.o printexc.o callback.o weak.o \
compact.o finalise.o custom.o $(UNIX_OR_WIN32).o backtrace_prim.o \
@@ -34,11 +35,16 @@ ASMOBJS=$(ARCH).o
OBJS=$(COBJS) $(ASMOBJS)
DOBJS=$(COBJS:.o=.d.o) $(ASMOBJS)
+IOBJS=$(COBJS:.o=.i.o) $(ASMOBJS)
POBJS=$(COBJS:.o=.p.o) $(ASMOBJS:.o=.p.o)
PICOBJS=$(COBJS:.o=.pic.o) $(ASMOBJS:.o=.pic.o)
all: libasmrun.a all-$(RUNTIMED) all-$(PROFILING) all-$(SHARED)
+ifeq "$(RUNTIMEI)" "true"
+all: libasmruni.a
+endif
+
libasmrun.a: $(OBJS)
rm -f libasmrun.a
$(ARCMD) rc libasmrun.a $(OBJS)
@@ -55,6 +61,11 @@ libasmrund.a: $(DOBJS)
$(ARCMD) rc libasmrund.a $(DOBJS)
$(RANLIB) libasmrund.a
+libasmruni.a: $(IOBJS)
+ rm -f $@
+ $(ARCMD) rc $@ $^
+ $(RANLIB) $@
+
all-noprof:
all-prof: libasmrunp.a
@@ -78,40 +89,39 @@ libasmrun_shared.so: $(PICOBJS)
INSTALL_LIBDIR=$(DESTDIR)$(LIBDIR)
-install: install-default install-$(RUNTIMED) install-$(PROFILING) \
- install-$(SHARED)
-
-install-default:
+install::
cp libasmrun.a $(INSTALL_LIBDIR)/libasmrun.a
cd $(INSTALL_LIBDIR); $(RANLIB) libasmrun.a
.PHONY: install-default
-install-noruntimed:
-.PHONY: install-noruntimed
-
-install-runtimed:
+ifeq "$(RUNTIMED)" "runtimed"
+install::
cp libasmrund.a $(INSTALL_LIBDIR)/libasmrund.a
cd $(INSTALL_LIBDIR); $(RANLIB) libasmrund.a
-.PHONY: install-runtimed
+endif
-install-noprof:
- rm -f $(INSTALL_LIBDIR)/libasmrunp.a
- ln -s libasmrun.a $(INSTALL_LIBDIR)/libasmrunp.a
-.PHONY: install-noprof
+ifeq "$(RUNTIMEI)" "true"
+install::
+ cp libasmruni.a $(INSTALL_LIBDIR)/libasmruni.a
+ cd $(INSTALL_LIBDIR); $(RANLIB) libasmruni.a
+endif
-install-prof:
+ifeq "$(PROFILING)" "prof"
+install::
cp libasmrunp.a $(INSTALL_LIBDIR)/libasmrunp.a
cd $(INSTALL_LIBDIR); $(RANLIB) libasmrunp.a
-.PHONY: install-prof
-
-install-noshared:
-.PHONY: install-noshared
+else
+install::
+ rm -f $(INSTALL_LIBDIR)/libasmrunp.a
+ ln -s libasmrun.a $(INSTALL_LIBDIR)/libasmrunp.a
+endif
-install-shared:
+ifeq "$(SHARED)" "shared"
+install::
cp libasmrun_pic.a $(INSTALL_LIBDIR)/libasmrun_pic.a
cd $(INSTALL_LIBDIR); $(RANLIB) libasmrunp.a
cp libasmrun_shared.so $(INSTALL_LIBDIR)/libasmrun_shared.so
-.PHONY: install-prof
+endif
main.c: ../byterun/main.c
ln -s ../byterun/main.c main.c
@@ -197,6 +207,18 @@ LINKEDFILES=misc.c freelist.c major_gc.c minor_gc.c memory.c alloc.c array.c \
clean::
rm -f $(LINKEDFILES)
+%.d.o: %.c
+ $(CC) -c $(DFLAGS) -o $@ $<
+
+%.i.o : %.c
+ $(CC) -c $(IFLAGS) -o $@ $<
+
+%.p.o: %.c
+ $(CC) -c $(PFLAGS) -o $@ $<
+
+%.pic.o: %.c
+ $(CC) -c $(PICFLAGS) -o $@ $<
+
%.o: %.S
$(ASPP) -DSYS_$(SYSTEM) -DMODEL_$(MODEL) -o $@ $< || \
{ echo "If your assembler produced syntax errors, it is probably";\
@@ -210,15 +232,6 @@ clean::
%.pic.o: %.S
$(ASPP) -DSYS_$(SYSTEM) -DMODEL_$(MODEL) $(SHAREDCCCOMPOPTS) -o $@ $<
-%.d.o: %.c
- $(CC) -c $(DFLAGS) -o $@ $<
-
-%.p.o: %.c
- $(CC) -c $(PFLAGS) -o $@ $<
-
-%.pic.o: %.c
- $(CC) -c $(PICFLAGS) -o $@ $<
-
%.o: %.s
$(ASPP) -DSYS_$(SYSTEM) -o $@ $<
@@ -233,7 +246,8 @@ clean::
depend: $(COBJS:.o=.c) ${LINKEDFILES}
$(CC) -MM $(FLAGS) *.c > .depend
+ $(CC) -MM $(FLAGS) -DPROFILING *.c | sed -e 's/\.o/.p.o/' >> .depend
$(CC) -MM $(FLAGS) -DDEBUG *.c | sed -e 's/\.o/.d.o/' >> .depend
- $(CC) -MM $(FLAGS) *.c | sed -e 's/\.o/.p.o/' >> .depend
+ $(CC) -MM $(FLAGS) -DCAML_INSTR *.c | sed -e 's/\.o/.i.o/' >> .depend
include .depend
diff --git a/asmrun/arm.S b/asmrun/arm.S
index e3e3c4cb27..9200da2e06 100644
--- a/asmrun/arm.S
+++ b/asmrun/arm.S
@@ -518,3 +518,6 @@ caml_system__frametable:
.align 2
.type caml_system__frametable, %object
.size caml_system__frametable, .-caml_system__frametable
+
+/* Mark stack as non-executable */
+ .section .note.GNU-stack,"",%progbits
diff --git a/asmrun/arm64.S b/asmrun/arm64.S
index 7969eb629e..7502ea668c 100644
--- a/asmrun/arm64.S
+++ b/asmrun/arm64.S
@@ -553,3 +553,6 @@ caml_system__frametable:
.align 3
.type caml_system__frametable, %object
.size caml_system__frametable, .-caml_system__frametable
+
+/* Mark stack as non-executable */
+ .section .note.GNU-stack,"",%progbits
diff --git a/asmrun/power.S b/asmrun/power.S
index e5de431adf..3ac79f84af 100644
--- a/asmrun/power.S
+++ b/asmrun/power.S
@@ -690,3 +690,6 @@ TOCENTRY(caml_young_limit)
TOCENTRY(caml_young_ptr)
#endif
+
+/* Mark stack as non-executable */
+ .section .note.GNU-stack,"",%progbits
diff --git a/asmrun/roots.c b/asmrun/roots.c
index d6de223738..29cc6e8722 100644
--- a/asmrun/roots.c
+++ b/asmrun/roots.c
@@ -335,27 +335,78 @@ void caml_oldify_local_roots (void)
if (caml_scan_roots_hook != NULL) (*caml_scan_roots_hook)(&caml_oldify_one);
}
-/* Call [darken] on all roots */
+uintnat caml_incremental_roots_count = 0;
-void caml_darken_all_roots (void)
+/* Call [caml_darken] on all roots, incrementally:
+ [caml_darken_all_roots_start] does the non-incremental part and
+ sets things up for [caml_darken_all_roots_slice].
+*/
+void caml_darken_all_roots_start (void)
{
- caml_do_roots (caml_darken);
+ caml_do_roots (caml_darken, 0);
}
-void caml_do_roots (scanning_action f)
+/* Call [caml_darken] on at most [work] global roots. Return the
+ amount of work not done, if any. If this is strictly positive,
+ the darkening is done.
+ */
+intnat caml_darken_all_roots_slice (intnat work)
{
- int i, j;
- value * glob;
- link *lnk;
-
- /* The global roots */
+ static int i, j;
+ static value *glob;
+ static int do_resume = 0;
+ static mlsize_t roots_count = 0;
+ intnat remaining_work = work;
+ CAML_INSTR_SETUP (tmr, "");
+
+ /* If the loop was started in a previous call, resume it. */
+ if (do_resume) goto resume;
+
+ /* This is the same loop as in [caml_do_roots], but we make it
+ suspend itself when [work] reaches 0. */
for (i = 0; caml_globals[i] != 0; i++) {
for(glob = caml_globals[i]; *glob != 0; glob++) {
- for (j = 0; j < Wosize_val(*glob); j++)
- f (Field (*glob, j), &Field (*glob, j));
+ for (j = 0; j < Wosize_val(*glob); j++){
+ caml_darken (Field (*glob, j), &Field (*glob, j));
+ -- remaining_work;
+ if (remaining_work == 0){
+ roots_count += work;
+ do_resume = 1;
+ goto suspend;
+ }
+ resume: ;
+ }
}
}
+ /* The loop finished normally, so all roots are now darkened. */
+ caml_incremental_roots_count = roots_count + work - remaining_work;
+ /* Prepare for the next run. */
+ do_resume = 0;
+ roots_count = 0;
+
+ suspend:
+ /* Do this in both cases. */
+ CAML_INSTR_TIME (tmr, "major/mark/global_roots_slice");
+ return remaining_work;
+}
+
+void caml_do_roots (scanning_action f, int do_globals)
+{
+ int i, j;
+ value * glob;
+ link *lnk;
+ CAML_INSTR_SETUP (tmr, "major_roots");
+
+ if (do_globals){
+ /* The global roots */
+ for (i = 0; caml_globals[i] != 0; i++) {
+ for(glob = caml_globals[i]; *glob != 0; glob++) {
+ for (j = 0; j < Wosize_val(*glob); j++)
+ f (Field (*glob, j), &Field (*glob, j));
+ }
+ }
+ }
/* Dynamic global roots */
iter_list(caml_dyn_globals, lnk) {
for(glob = (value *) lnk->data; *glob != 0; glob++) {
@@ -364,16 +415,20 @@ void caml_do_roots (scanning_action f)
}
}
}
-
+ CAML_INSTR_TIME (tmr, "major_roots/dynamic_global");
/* The stack and local roots */
caml_do_local_roots(f, caml_bottom_of_stack, caml_last_return_address,
caml_gc_regs, caml_local_roots);
+ CAML_INSTR_TIME (tmr, "major_roots/local");
/* Global C roots */
caml_scan_global_roots(f);
+ CAML_INSTR_TIME (tmr, "major_roots/C");
/* Finalised values */
caml_final_do_strong_roots (f);
+ CAML_INSTR_TIME (tmr, "major_roots/finalised");
/* Hook */
if (caml_scan_roots_hook != NULL) (*caml_scan_roots_hook)(f);
+ CAML_INSTR_TIME (tmr, "major_roots/hook");
}
void caml_do_local_roots(scanning_action f, char * bottom_of_stack,
diff --git a/asmrun/s390x.S b/asmrun/s390x.S
index 2c0c37292f..baff0eb42b 100644
--- a/asmrun/s390x.S
+++ b/asmrun/s390x.S
@@ -351,3 +351,6 @@ caml_system__frametable:
.short -1 /* negative size count => use callback link */
.short 0 /* no roots here */
.align 8
+
+/* Mark stack as non-executable */
+ .section .note.GNU-stack,"",%progbits
diff --git a/asmrun/signals_asm.c b/asmrun/signals_asm.c
index 6c9439de5b..3dd32b625b 100644
--- a/asmrun/signals_asm.c
+++ b/asmrun/signals_asm.c
@@ -67,9 +67,11 @@ extern char caml_system__code_begin, caml_system__code_end;
void caml_garbage_collection(void)
{
- caml_young_limit = caml_young_start;
- if (caml_young_ptr < caml_young_start || caml_force_major_slice) {
- caml_minor_collection();
+ CAMLassert (caml_young_ptr >= caml_young_alloc_start);
+ caml_young_limit = caml_young_trigger;
+ if (caml_requested_major_slice || caml_requested_minor_gc ||
+ caml_young_ptr - caml_young_trigger < Max_young_whsize){
+ caml_gc_dispatch ();
}
caml_process_pending_signals();
}
diff --git a/asmrun/startup.c b/asmrun/startup.c
index 5cbd42cff2..c9fa0575f4 100644
--- a/asmrun/startup.c
+++ b/asmrun/startup.c
@@ -107,14 +107,17 @@ void caml_main(char **argv)
caml_install_invalid_parameter_handler();
#endif
caml_init_custom_operations();
+ caml_top_of_stack = &tos;
#ifdef DEBUG
- caml_verb_gc = 63;
+ caml_verb_gc = 0x3F;
#endif
- caml_top_of_stack = &tos;
caml_parse_ocamlrunparam();
+#ifdef DEBUG
+ caml_gc_message (-1, "### OCaml runtime: debug mode ###\n", 0);
+#endif
caml_init_gc (caml_init_minor_heap_wsz, caml_init_heap_wsz,
caml_init_heap_chunk_sz, caml_init_percent_free,
- caml_init_max_percent_free);
+ caml_init_max_percent_free, caml_init_major_window);
init_static();
caml_init_signals();
caml_init_backtrace();
diff --git a/boot/ocamlc b/boot/ocamlc
index 23d35765fa..971ff457f6 100755
--- a/boot/ocamlc
+++ b/boot/ocamlc
Binary files differ
diff --git a/boot/ocamldep b/boot/ocamldep
index 45dd88241a..54274f906f 100755
--- a/boot/ocamldep
+++ b/boot/ocamldep
Binary files differ
diff --git a/boot/ocamllex b/boot/ocamllex
index a3d4d0b658..07dea5ceca 100755
--- a/boot/ocamllex
+++ b/boot/ocamllex
Binary files differ
diff --git a/asmcomp/debuginfo.ml b/bytecomp/debuginfo.ml
index 3f96049eee..3f96049eee 100644
--- a/asmcomp/debuginfo.ml
+++ b/bytecomp/debuginfo.ml
diff --git a/asmcomp/debuginfo.mli b/bytecomp/debuginfo.mli
index ef4d55ad91..ef4d55ad91 100644
--- a/asmcomp/debuginfo.mli
+++ b/bytecomp/debuginfo.mli
diff --git a/bytecomp/lambda.ml b/bytecomp/lambda.ml
index 2fcbbf11a4..641b269b08 100644
--- a/bytecomp/lambda.ml
+++ b/bytecomp/lambda.ml
@@ -176,6 +176,7 @@ type shared_code = (int * int) list
type function_attribute = {
inline : inline_attribute;
+ is_a_functor: bool;
}
type lambda =
@@ -237,6 +238,7 @@ let lambda_unit = Lconst const_unit
let default_function_attribute = {
inline = Default_inline;
+ is_a_functor = false;
}
(* Build sharing keys *)
diff --git a/bytecomp/lambda.mli b/bytecomp/lambda.mli
index b0aac033c0..efebb100c9 100644
--- a/bytecomp/lambda.mli
+++ b/bytecomp/lambda.mli
@@ -185,6 +185,7 @@ type shared_code = (int * int) list (* stack size -> code label *)
type function_attribute = {
inline : inline_attribute;
+ is_a_functor: bool;
}
type lambda =
diff --git a/bytecomp/printlambda.ml b/bytecomp/printlambda.ml
index 0580b43dfd..885a60fc7c 100644
--- a/bytecomp/printlambda.ml
+++ b/bytecomp/printlambda.ml
@@ -246,7 +246,9 @@ let primitive ppf = function
| Pbbswap(bi) -> print_boxed_integer "bswap" ppf bi
| Pint_as_pointer -> fprintf ppf "int_as_pointer"
-let function_attribute ppf { inline } =
+let function_attribute ppf { inline; is_a_functor } =
+ if is_a_functor then
+ fprintf ppf "is_a_functor@ ";
match inline with
| Default_inline -> ()
| Always_inline -> fprintf ppf "always_inline@ "
diff --git a/bytecomp/translattribute.ml b/bytecomp/translattribute.ml
index 90057a96fa..2d98a95c84 100644
--- a/bytecomp/translattribute.ml
+++ b/bytecomp/translattribute.ml
@@ -73,7 +73,7 @@ let add_inline_attribute expr loc attributes =
Location.prerr_warning loc
(Warnings.Duplicated_attribute "inline")
end;
- Lfunction { funct with attr = { inline = inline_attribute } }
+ Lfunction { funct with attr = { attr with inline = inline_attribute } }
| expr, (Always_inline | Never_inline) ->
Location.prerr_warning loc
(Warnings.Misplaced_attribute "inline");
@@ -84,12 +84,18 @@ let add_inline_attribute expr loc attributes =
used to ensure that this expression is not misplaced: If it
appears on any expression, it is an error, otherwise it would
have been removed by this function *)
-let get_inlined_attribute e =
+let get_and_remove_inlined_attribute e =
let attribute_value, exp_attributes =
make_get_inline_attribute is_inlined_attribute e.exp_attributes
in
attribute_value, { e with exp_attributes }
+let get_and_remove_inlined_attribute_on_module e =
+ let attribute_value, mod_attributes =
+ make_get_inline_attribute is_inlined_attribute e.mod_attributes
+ in
+ attribute_value, { e with mod_attributes }
+
(* It also remove the attribute from the expression, like
get_inlined_attribute *)
let get_tailcall_attribute e =
@@ -125,3 +131,18 @@ let check_attribute e ({ txt; loc }, _) =
Location.prerr_warning loc
(Warnings.Misplaced_attribute txt)
| _ -> ()
+
+let check_attribute_on_module e ({ txt; loc }, _) =
+ match txt with
+ | "inline" | "ocaml.inline" -> begin
+ match e.mod_desc with
+ | Tmod_functor _ -> ()
+ | _ ->
+ Location.prerr_warning loc
+ (Warnings.Misplaced_attribute txt)
+ end
+ | "inlined" | "ocaml.inlined" ->
+ (* Removed by the Texp_apply cases *)
+ Location.prerr_warning loc
+ (Warnings.Misplaced_attribute txt)
+ | _ -> ()
diff --git a/bytecomp/translattribute.mli b/bytecomp/translattribute.mli
index 14a844a1b7..7340bc7202 100644
--- a/bytecomp/translattribute.mli
+++ b/bytecomp/translattribute.mli
@@ -15,20 +15,29 @@ val check_attribute
-> string Location.loc * _
-> unit
+val check_attribute_on_module
+ : Typedtree.module_expr
+ -> string Location.loc * _
+ -> unit
+
val add_inline_attribute
: Lambda.lambda
-> Location.t
- -> Parsetree.attribute list
+ -> Parsetree.attributes
-> Lambda.lambda
val get_inline_attribute
- : (string Location.loc * Parsetree.payload) list
+ : Parsetree.attributes
-> Lambda.inline_attribute
-val get_inlined_attribute
+val get_and_remove_inlined_attribute
: Typedtree.expression
-> Lambda.inline_attribute * Typedtree.expression
+val get_and_remove_inlined_attribute_on_module
+ : Typedtree.module_expr
+ -> Lambda.inline_attribute * Typedtree.module_expr
+
val get_tailcall_attribute
: Typedtree.expression
-> bool * Typedtree.expression
diff --git a/bytecomp/translcore.ml b/bytecomp/translcore.ml
index 5681a95be6..2be9ef4ad1 100644
--- a/bytecomp/translcore.ml
+++ b/bytecomp/translcore.ml
@@ -691,6 +691,7 @@ and transl_exp0 e =
transl_function e.exp_loc !Clflags.native_code repr partial pl)
in
let attr = {
+ default_function_attribute with
inline = Translattribute.get_inline_attribute e.exp_attributes;
}
in
@@ -708,7 +709,7 @@ and transl_exp0 e =
Translattribute.get_tailcall_attribute funct
in
let inlined, funct =
- Translattribute.get_inlined_attribute funct
+ Translattribute.get_and_remove_inlined_attribute funct
in
let e = { e with exp_desc = Texp_apply(funct, oargs) } in
event_after e (transl_apply ~should_be_tailcall ~inlined
@@ -764,7 +765,7 @@ and transl_exp0 e =
Translattribute.get_tailcall_attribute funct
in
let inlined, funct =
- Translattribute.get_inlined_attribute funct
+ Translattribute.get_and_remove_inlined_attribute funct
in
let e = { e with exp_desc = Texp_apply(funct, oargs) } in
event_after e (transl_apply ~should_be_tailcall ~inlined
diff --git a/bytecomp/translmod.ml b/bytecomp/translmod.ml
index a85edd5ccc..da8bc40296 100644
--- a/bytecomp/translmod.ml
+++ b/bytecomp/translmod.ml
@@ -91,7 +91,8 @@ let rec apply_coercion strict restr arg =
let param = Ident.create "funarg" in
name_lambda strict arg (fun id ->
Lfunction{kind = Curried; params = [param];
- attr = default_function_attribute;
+ attr = { default_function_attribute with
+ is_a_functor = true };
body = apply_coercion
Strict cc_res
(Lapply{ap_should_be_tailcall=false;
@@ -348,6 +349,8 @@ let transl_class_bindings cl_list =
(* Compile a module expression *)
let rec transl_module cc rootpath mexp =
+ List.iter (Translattribute.check_attribute_on_module mexp)
+ mexp.mod_attributes;
match mexp.mod_type with
Mty_alias _ -> apply_coercion Alias cc lambda_unit
| _ ->
@@ -359,16 +362,21 @@ let rec transl_module cc rootpath mexp =
transl_struct [] cc rootpath str
| Tmod_functor( param, _, mty, body) ->
let bodypath = functor_path rootpath param in
+ let inline_attribute =
+ Translattribute.get_inline_attribute mexp.mod_attributes
+ in
oo_wrap mexp.mod_env true
(function
| Tcoerce_none ->
Lfunction{kind = Curried; params = [param];
- attr = default_function_attribute;
+ attr = { inline = inline_attribute;
+ is_a_functor = true };
body = transl_module Tcoerce_none bodypath body}
| Tcoerce_functor(ccarg, ccres) ->
let param' = Ident.create "funarg" in
Lfunction{kind = Curried; params = [param'];
- attr = default_function_attribute;
+ attr = { inline = inline_attribute;
+ is_a_functor = true };
body = Llet(Alias, param,
apply_coercion Alias ccarg (Lvar param'),
transl_module ccres bodypath body)}
@@ -376,13 +384,16 @@ let rec transl_module cc rootpath mexp =
fatal_error "Translmod.transl_module")
cc
| Tmod_apply(funct, arg, ccarg) ->
+ let inlined_attribute, funct =
+ Translattribute.get_and_remove_inlined_attribute_on_module funct
+ in
oo_wrap mexp.mod_env true
(apply_coercion Strict cc)
(Lapply{ap_should_be_tailcall=false;
ap_loc=mexp.mod_loc;
ap_func=transl_module Tcoerce_none None funct;
ap_args=[transl_module ccarg None arg];
- ap_inlined=Default_inline})
+ ap_inlined=inlined_attribute})
| Tmod_constraint(arg, mty, _, ccarg) ->
transl_module (compose_coercions cc ccarg) rootpath arg
| Tmod_unpack(arg, _) ->
@@ -448,7 +459,9 @@ and transl_structure fields cc rootpath = function
| Tstr_module mb ->
let id = mb.mb_id in
Llet(pure_module mb.mb_expr, id,
- transl_module Tcoerce_none (field_path rootpath id) mb.mb_expr,
+ Translattribute.add_inline_attribute
+ (transl_module Tcoerce_none (field_path rootpath id) mb.mb_expr)
+ mb.mb_loc mb.mb_attributes,
transl_structure (id :: fields) cc rootpath rem)
| Tstr_recmodule bindings ->
let ext_fields =
@@ -671,7 +684,11 @@ let transl_store_structure glob map prims str =
let lam = transl_extension_constructor item.str_env path ext in
Lsequence(Llet(Strict, id, subst_lambda subst lam, store_ident id),
transl_store rootpath (add_ident false id subst) rem)
- | Tstr_module{mb_id=id; mb_expr={mod_desc = Tmod_structure str}} ->
+ | Tstr_module{mb_id=id;
+ mb_expr={mod_desc = Tmod_structure str} as mexp;
+ mb_attributes} ->
+ List.iter (Translattribute.check_attribute_on_module mexp)
+ mb_attributes;
let lam = transl_store (field_path rootpath id) subst str.str_items in
(* Careful: see next case *)
let subst = !transl_store_subst in
@@ -684,8 +701,17 @@ let transl_store_structure glob map prims str =
Lsequence(store_ident id,
transl_store rootpath (add_ident true id subst)
rem)))
- | Tstr_module{mb_id=id; mb_expr={mod_desc = Tmod_constraint ({mod_desc = Tmod_structure str}, _, _, (Tcoerce_structure (map, _) as _cc))}} ->
+ | Tstr_module{
+ mb_id=id;
+ mb_expr= {
+ mod_desc = Tmod_constraint (
+ {mod_desc = Tmod_structure str} as mexp, _, _,
+ (Tcoerce_structure (map, _) as _cc))};
+ mb_attributes
+ } ->
(* Format.printf "coerc id %s: %a@." (Ident.unique_name id) Includemod.print_coercion cc; *)
+ List.iter (Translattribute.check_attribute_on_module mexp)
+ mb_attributes;
let lam = transl_store (field_path rootpath id) subst str.str_items in
(* Careful: see next case *)
let subst = !transl_store_subst in
@@ -704,8 +730,12 @@ let transl_store_structure glob map prims str =
Lsequence(store_ident id,
transl_store rootpath (add_ident true id subst)
rem)))
- | Tstr_module{mb_id=id; mb_expr=modl} ->
- let lam = transl_module Tcoerce_none (field_path rootpath id) modl in
+ | Tstr_module{mb_id=id; mb_expr=modl; mb_loc; mb_attributes} ->
+ let lam =
+ Translattribute.add_inline_attribute
+ (transl_module Tcoerce_none (field_path rootpath id) modl)
+ mb_loc mb_attributes
+ in
(* Careful: the module value stored in the global may be different
from the local module value, in case a coercion is applied.
If so, keep using the local module value (id) in the remainder of
diff --git a/byterun/.depend b/byterun/.depend
index 8ffd2448c8..37f3a5e608 100644
--- a/byterun/.depend
+++ b/byterun/.depend
@@ -1,748 +1,1004 @@
alloc.o: alloc.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
- caml/address_class.h caml/mlvalues.h caml/stacks.h caml/memory.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
+ caml/address_class.h caml/mlvalues.h caml/stacks.h caml/memory.h
array.o: array.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
- caml/mlvalues.h
-backtrace.o: backtrace.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/mlvalues.h caml/config.h \
- caml/misc.h caml/alloc.h caml/mlvalues.h caml/custom.h caml/io.h \
- caml/instruct.h caml/intext.h caml/io.h caml/exec.h caml/fix_code.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/startup.h caml/exec.h caml/stacks.h \
- caml/memory.h caml/sys.h caml/backtrace.h caml/fail.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
+ caml/mlvalues.h caml/signals.h
+backtrace.o: backtrace.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/backtrace.h caml/exec.h \
+ caml/backtrace_prim.h caml/backtrace.h caml/fail.h
+backtrace_prim.o: backtrace_prim.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/mlvalues.h \
+ caml/config.h caml/misc.h caml/alloc.h caml/mlvalues.h caml/custom.h \
+ caml/io.h caml/instruct.h caml/intext.h caml/io.h caml/exec.h \
+ caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/startup.h caml/exec.h \
+ caml/stacks.h caml/memory.h caml/sys.h caml/backtrace.h caml/fail.h \
+ caml/backtrace_prim.h caml/backtrace.h
callback.o: callback.c caml/callback.h caml/compatibility.h \
- caml/mlvalues.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/mlvalues.h caml/interp.h caml/instruct.h caml/fix_code.h \
- caml/stacks.h caml/memory.h
-compact.o: compact.c caml/address_class.h caml/misc.h \
- caml/compatibility.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/mlvalues.h caml/config.h caml/finalise.h \
- caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/freelist.h caml/gc.h \
- caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \
- caml/roots.h caml/weak.h
+ caml/mlvalues.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/mlvalues.h caml/interp.h caml/instruct.h caml/fix_code.h \
+ caml/stacks.h caml/memory.h
+compact.o: compact.c caml/address_class.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/compatibility.h \
+ caml/misc.h caml/mlvalues.h caml/config.h caml/finalise.h caml/roots.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
+ caml/major_gc.h caml/memory.h caml/mlvalues.h caml/roots.h caml/weak.h
compare.o: compare.c caml/custom.h caml/compatibility.h caml/mlvalues.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h caml/misc.h \
- caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/misc.h caml/mlvalues.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h caml/misc.h \
+ caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/misc.h caml/mlvalues.h
custom.o: custom.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/custom.h caml/fail.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/mlvalues.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/mlvalues.h
debugger.o: debugger.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h caml/fail.h \
- caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \
- caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/sys.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h caml/fail.h \
+ caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \
+ caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/sys.h
dynlink.o: dynlink.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h caml/mlvalues.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/osdeps.h caml/prims.h \
- caml/signals.h
+ caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h \
+ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/misc.h caml/osdeps.h \
+ caml/prims.h caml/signals.h
extern.o: extern.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \
- caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
- caml/mlvalues.h caml/reverse.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \
+ caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
+ caml/mlvalues.h caml/reverse.h
fail.o: fail.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \
- caml/memory.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h \
+ caml/stacks.h caml/memory.h
finalise.o: finalise.c caml/callback.h caml/compatibility.h \
- caml/mlvalues.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/misc.h caml/fail.h caml/mlvalues.h \
- caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/signals.h
+ caml/mlvalues.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/fail.h caml/mlvalues.h \
+ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/signals.h
fix_code.o: fix_code.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/debugger.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/fix_code.h caml/instruct.h \
- caml/intext.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/misc.h caml/mlvalues.h caml/reverse.h
+ caml/../../config/s.h caml/compatibility.h caml/debugger.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/fix_code.h caml/instruct.h \
+ caml/intext.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/misc.h caml/mlvalues.h caml/reverse.h
floats.o: floats.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
- caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
+ caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h
freelist.o: freelist.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/freelist.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/major_gc.h caml/misc.h caml/mlvalues.h
+ caml/../../config/s.h caml/compatibility.h caml/freelist.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/major_gc.h caml/misc.h caml/mlvalues.h
gc_ctrl.o: gc_ctrl.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/compact.h caml/custom.h caml/finalise.h \
- caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/freelist.h caml/gc.h \
- caml/gc_ctrl.h caml/major_gc.h caml/minor_gc.h caml/misc.h \
- caml/mlvalues.h caml/stacks.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/backtrace.h caml/exec.h caml/compact.h \
+ caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
+ caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \
+ caml/mlvalues.h caml/signals.h caml/stacks.h caml/startup_aux.h
globroots.o: globroots.c caml/memory.h caml/compatibility.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/gc.h caml/mlvalues.h \
- caml/misc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
- caml/memory.h caml/globroots.h caml/roots.h
+ caml/../../config/m.h caml/../../config/s.h caml/gc.h caml/mlvalues.h \
+ caml/misc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
+ caml/memory.h caml/globroots.h caml/roots.h
hash.o: hash.c caml/mlvalues.h caml/compatibility.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/custom.h \
- caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/hash.h
+ caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/custom.h \
+ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/hash.h
instrtrace.o: instrtrace.c
intern.o: intern.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/callback.h caml/custom.h caml/fail.h caml/gc.h \
- caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/mlvalues.h caml/misc.h caml/reverse.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/callback.h caml/custom.h caml/fail.h caml/gc.h \
+ caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/mlvalues.h caml/misc.h caml/reverse.h
interp.o: interp.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \
- caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \
- caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h caml/prims.h \
- caml/signals.h caml/stacks.h caml/memory.h caml/startup_aux.h \
- caml/jumptbl.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \
+ caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \
+ caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/prims.h \
+ caml/signals.h caml/stacks.h caml/memory.h caml/startup_aux.h \
+ caml/jumptbl.h
ints.o: ints.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h
io.o: io.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
- caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h caml/signals.h \
- caml/sys.h
+ caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/signals.h \
+ caml/sys.h
lexing.o: lexing.c caml/fail.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h
main.o: main.c caml/misc.h caml/compatibility.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/misc.h \
- caml/sys.h
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/misc.h \
+ caml/sys.h
major_gc.o: major_gc.c caml/compact.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/misc.h caml/custom.h \
- caml/mlvalues.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
- caml/major_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/weak.h
+ caml/../../config/s.h caml/compatibility.h caml/misc.h caml/custom.h \
+ caml/mlvalues.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
+ caml/major_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/weak.h
md5.o: md5.c caml/alloc.h caml/compatibility.h caml/misc.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
- caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
- caml/io.h caml/reverse.h
-memory.o: memory.c caml/address_class.h caml/misc.h caml/compatibility.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
- caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/minor_gc.h caml/address_class.h caml/minor_gc.h caml/misc.h \
- caml/mlvalues.h caml/signals.h
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
+ caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
+ caml/io.h caml/reverse.h
+memory.o: memory.c caml/address_class.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/compatibility.h \
+ caml/misc.h caml/mlvalues.h caml/fail.h caml/freelist.h caml/gc.h \
+ caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/minor_gc.h \
+ caml/misc.h caml/mlvalues.h caml/signals.h
meta.o: meta.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \
- caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
- caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \
- caml/memory.h
-minor_gc.o: minor_gc.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/fail.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/finalise.h caml/roots.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \
- caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \
- caml/signals.h caml/weak.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \
+ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
+ caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \
+ caml/memory.h
+minor_gc.o: minor_gc.c caml/custom.h caml/compatibility.h caml/mlvalues.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h caml/misc.h \
+ caml/config.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \
+ caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \
+ caml/signals.h caml/weak.h
misc.o: misc.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/compatibility.h caml/misc.h caml/config.h caml/memory.h caml/gc.h \
- caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h
+ caml/compatibility.h caml/misc.h caml/config.h caml/memory.h caml/gc.h \
+ caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/version.h
obj.o: obj.c caml/alloc.h caml/compatibility.h caml/misc.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
- caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
- caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
+ caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
+ caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h
parsing.o: parsing.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/mlvalues.h caml/config.h \
- caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/alloc.h
+ caml/../../config/s.h caml/compatibility.h caml/mlvalues.h \
+ caml/config.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/alloc.h
prims.o: prims.c caml/mlvalues.h caml/compatibility.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/prims.h
+ caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/prims.h
printexc.o: printexc.c caml/backtrace.h caml/mlvalues.h \
- caml/compatibility.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/misc.h caml/exec.h caml/callback.h \
- caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h
+ caml/compatibility.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/exec.h caml/callback.h \
+ caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h
roots.o: roots.c caml/finalise.h caml/roots.h caml/misc.h \
- caml/compatibility.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/memory.h caml/gc.h caml/mlvalues.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/globroots.h caml/major_gc.h caml/memory.h caml/minor_gc.h \
- caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h
-signals_byt.o: signals_byt.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/memory.h caml/config.h \
- caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/osdeps.h caml/signals.h \
- caml/signals_machdep.h
+ caml/compatibility.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/memory.h caml/gc.h caml/mlvalues.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/globroots.h caml/major_gc.h caml/memory.h caml/minor_gc.h \
+ caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h
signals.o: signals.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
- caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
+ caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h
+signals_byt.o: signals_byt.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/memory.h caml/config.h \
+ caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/osdeps.h caml/signals.h \
+ caml/signals_machdep.h
stacks.o: stacks.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/fail.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h caml/stacks.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h
-startup_aux.o: startup_aux.c caml/backtrace.h caml/mlvalues.h \
- caml/compatibility.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/misc.h caml/exec.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/startup_aux.h
+ caml/../../config/s.h caml/compatibility.h caml/fail.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h caml/stacks.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h
startup.o: startup.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \
- caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h caml/exec.h \
- caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \
- caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \
- caml/osdeps.h caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h \
- caml/stacks.h caml/memory.h caml/sys.h caml/startup.h caml/startup_aux.h \
- caml/version.h
+ caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \
+ caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h \
+ caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \
+ caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \
+ caml/osdeps.h caml/prims.h caml/printexc.h caml/reverse.h \
+ caml/signals.h caml/stacks.h caml/memory.h caml/sys.h caml/startup.h \
+ caml/startup_aux.h caml/version.h
+startup_aux.o: startup_aux.c caml/backtrace.h caml/mlvalues.h \
+ caml/compatibility.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/exec.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/startup_aux.h
str.o: str.c caml/alloc.h caml/compatibility.h caml/misc.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
- caml/mlvalues.h caml/misc.h
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
+ caml/mlvalues.h caml/misc.h
sys.o: sys.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
- caml/mlvalues.h caml/debugger.h caml/fail.h caml/instruct.h \
- caml/mlvalues.h caml/osdeps.h caml/signals.h caml/stacks.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/sys.h caml/gc_ctrl.h caml/io.h
+ caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
+ caml/mlvalues.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \
+ caml/instruct.h caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h \
+ caml/signals.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/sys.h
terminfo.o: terminfo.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/fail.h caml/io.h caml/mlvalues.h
+ caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/fail.h caml/io.h caml/mlvalues.h
unix.o: unix.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/compatibility.h caml/memory.h caml/config.h caml/gc.h \
- caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/misc.h caml/osdeps.h
+ caml/compatibility.h caml/memory.h caml/config.h caml/gc.h \
+ caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/misc.h caml/osdeps.h
weak.o: weak.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
- caml/address_class.h caml/mlvalues.h
-win32.o: win32.c caml/address_class.h caml/misc.h caml/compatibility.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
- caml/osdeps.h caml/signals.h caml/sys.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
+ caml/address_class.h caml/mlvalues.h
alloc.d.o: alloc.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
- caml/address_class.h caml/mlvalues.h caml/stacks.h caml/memory.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
+ caml/address_class.h caml/mlvalues.h caml/stacks.h caml/memory.h
array.d.o: array.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
- caml/mlvalues.h
-backtrace.d.o: backtrace.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/mlvalues.h caml/config.h \
- caml/misc.h caml/alloc.h caml/mlvalues.h caml/custom.h caml/io.h \
- caml/instruct.h caml/intext.h caml/io.h caml/exec.h caml/fix_code.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/startup.h caml/exec.h caml/stacks.h \
- caml/memory.h caml/sys.h caml/backtrace.h caml/fail.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
+ caml/mlvalues.h caml/signals.h
+backtrace.d.o: backtrace.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/backtrace.h caml/exec.h \
+ caml/backtrace_prim.h caml/backtrace.h caml/fail.h
+backtrace_prim.d.o: backtrace_prim.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/mlvalues.h \
+ caml/config.h caml/misc.h caml/alloc.h caml/mlvalues.h caml/custom.h \
+ caml/io.h caml/instruct.h caml/intext.h caml/io.h caml/exec.h \
+ caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/startup.h caml/exec.h \
+ caml/stacks.h caml/memory.h caml/sys.h caml/backtrace.h caml/fail.h \
+ caml/backtrace_prim.h caml/backtrace.h
callback.d.o: callback.c caml/callback.h caml/compatibility.h \
- caml/mlvalues.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/mlvalues.h caml/interp.h caml/instruct.h caml/fix_code.h \
- caml/stacks.h caml/memory.h
-compact.d.o: compact.c caml/address_class.h caml/misc.h \
- caml/compatibility.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/mlvalues.h caml/config.h caml/finalise.h \
- caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/freelist.h caml/gc.h \
- caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \
- caml/roots.h caml/weak.h
+ caml/mlvalues.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/mlvalues.h caml/interp.h caml/instruct.h caml/fix_code.h \
+ caml/stacks.h caml/memory.h
+compact.d.o: compact.c caml/address_class.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/compatibility.h \
+ caml/misc.h caml/mlvalues.h caml/config.h caml/finalise.h caml/roots.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
+ caml/major_gc.h caml/memory.h caml/mlvalues.h caml/roots.h caml/weak.h
compare.d.o: compare.c caml/custom.h caml/compatibility.h caml/mlvalues.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h caml/misc.h \
- caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/misc.h caml/mlvalues.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h caml/misc.h \
+ caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/misc.h caml/mlvalues.h
custom.d.o: custom.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/custom.h caml/fail.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/mlvalues.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/mlvalues.h
debugger.d.o: debugger.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h caml/fail.h \
- caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \
- caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/sys.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h caml/fail.h \
+ caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \
+ caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/sys.h
dynlink.d.o: dynlink.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h caml/mlvalues.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/osdeps.h caml/prims.h \
- caml/signals.h
+ caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h \
+ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/misc.h caml/osdeps.h \
+ caml/prims.h caml/signals.h
extern.d.o: extern.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \
- caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
- caml/mlvalues.h caml/reverse.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \
+ caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
+ caml/mlvalues.h caml/reverse.h
fail.d.o: fail.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \
- caml/memory.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h \
+ caml/stacks.h caml/memory.h
finalise.d.o: finalise.c caml/callback.h caml/compatibility.h \
- caml/mlvalues.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/misc.h caml/fail.h caml/mlvalues.h \
- caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/signals.h
+ caml/mlvalues.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/fail.h caml/mlvalues.h \
+ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/signals.h
fix_code.d.o: fix_code.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/debugger.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/fix_code.h caml/instruct.h \
- caml/intext.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/misc.h caml/mlvalues.h caml/reverse.h
+ caml/../../config/s.h caml/compatibility.h caml/debugger.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/fix_code.h caml/instruct.h \
+ caml/intext.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/misc.h caml/mlvalues.h caml/reverse.h
floats.d.o: floats.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
- caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
+ caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h
freelist.d.o: freelist.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/freelist.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/major_gc.h caml/misc.h caml/mlvalues.h
+ caml/../../config/s.h caml/compatibility.h caml/freelist.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/major_gc.h caml/misc.h caml/mlvalues.h
gc_ctrl.d.o: gc_ctrl.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/compact.h caml/custom.h caml/finalise.h \
- caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/freelist.h caml/gc.h \
- caml/gc_ctrl.h caml/major_gc.h caml/minor_gc.h caml/misc.h \
- caml/mlvalues.h caml/stacks.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/backtrace.h caml/exec.h caml/compact.h \
+ caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
+ caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \
+ caml/mlvalues.h caml/signals.h caml/stacks.h caml/startup_aux.h
globroots.d.o: globroots.c caml/memory.h caml/compatibility.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/gc.h caml/mlvalues.h \
- caml/misc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
- caml/memory.h caml/globroots.h caml/roots.h
+ caml/../../config/m.h caml/../../config/s.h caml/gc.h caml/mlvalues.h \
+ caml/misc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
+ caml/memory.h caml/globroots.h caml/roots.h
hash.d.o: hash.c caml/mlvalues.h caml/compatibility.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/custom.h \
- caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/hash.h
-instrtrace.d.o: instrtrace.c caml/instruct.h caml/misc.h \
- caml/compatibility.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/mlvalues.h caml/misc.h caml/opnames.h \
- caml/prims.h caml/stacks.h caml/mlvalues.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/startup_aux.h
+ caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/custom.h \
+ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/hash.h
+instrtrace.d.o: instrtrace.c caml/instrtrace.h caml/mlvalues.h \
+ caml/compatibility.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/instruct.h caml/misc.h \
+ caml/mlvalues.h caml/opnames.h caml/prims.h caml/stacks.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/startup_aux.h
intern.d.o: intern.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/callback.h caml/custom.h caml/fail.h caml/gc.h \
- caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/mlvalues.h caml/misc.h caml/reverse.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/callback.h caml/custom.h caml/fail.h caml/gc.h \
+ caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/mlvalues.h caml/misc.h caml/reverse.h
interp.d.o: interp.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \
- caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \
- caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h caml/prims.h \
- caml/signals.h caml/stacks.h caml/memory.h caml/startup_aux.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \
+ caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \
+ caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/prims.h \
+ caml/signals.h caml/stacks.h caml/memory.h caml/startup_aux.h
ints.d.o: ints.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h
io.d.o: io.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
- caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h caml/signals.h \
- caml/sys.h
+ caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/signals.h \
+ caml/sys.h
lexing.d.o: lexing.c caml/fail.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h
main.d.o: main.c caml/misc.h caml/compatibility.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/misc.h \
- caml/sys.h
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/misc.h \
+ caml/sys.h
major_gc.d.o: major_gc.c caml/compact.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/misc.h caml/custom.h \
- caml/mlvalues.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
- caml/major_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/weak.h
+ caml/../../config/s.h caml/compatibility.h caml/misc.h caml/custom.h \
+ caml/mlvalues.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
+ caml/major_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/weak.h
md5.d.o: md5.c caml/alloc.h caml/compatibility.h caml/misc.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
- caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
- caml/io.h caml/reverse.h
-memory.d.o: memory.c caml/address_class.h caml/misc.h caml/compatibility.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
- caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/minor_gc.h caml/address_class.h caml/minor_gc.h caml/misc.h \
- caml/mlvalues.h caml/signals.h
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
+ caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
+ caml/io.h caml/reverse.h
+memory.d.o: memory.c caml/address_class.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/compatibility.h \
+ caml/misc.h caml/mlvalues.h caml/fail.h caml/freelist.h caml/gc.h \
+ caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/minor_gc.h \
+ caml/misc.h caml/mlvalues.h caml/signals.h
meta.d.o: meta.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \
- caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
- caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \
- caml/memory.h
-minor_gc.d.o: minor_gc.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/fail.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/finalise.h caml/roots.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \
- caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \
- caml/signals.h caml/weak.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \
+ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
+ caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \
+ caml/memory.h
+minor_gc.d.o: minor_gc.c caml/custom.h caml/compatibility.h caml/mlvalues.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h caml/misc.h \
+ caml/config.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \
+ caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \
+ caml/signals.h caml/weak.h
misc.d.o: misc.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/compatibility.h caml/misc.h caml/config.h caml/memory.h caml/gc.h \
- caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h
+ caml/compatibility.h caml/misc.h caml/config.h caml/memory.h caml/gc.h \
+ caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/version.h
obj.d.o: obj.c caml/alloc.h caml/compatibility.h caml/misc.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
- caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
- caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
+ caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
+ caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h
parsing.d.o: parsing.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/mlvalues.h caml/config.h \
- caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/alloc.h
+ caml/../../config/s.h caml/compatibility.h caml/mlvalues.h \
+ caml/config.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/alloc.h
prims.d.o: prims.c caml/mlvalues.h caml/compatibility.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/prims.h
+ caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/prims.h
printexc.d.o: printexc.c caml/backtrace.h caml/mlvalues.h \
- caml/compatibility.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/misc.h caml/exec.h caml/callback.h \
- caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h
+ caml/compatibility.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/exec.h caml/callback.h \
+ caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h
roots.d.o: roots.c caml/finalise.h caml/roots.h caml/misc.h \
- caml/compatibility.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/memory.h caml/gc.h caml/mlvalues.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/globroots.h caml/major_gc.h caml/memory.h caml/minor_gc.h \
- caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h
-signals_byt.d.o: signals_byt.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/memory.h caml/config.h \
- caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/osdeps.h caml/signals.h \
- caml/signals_machdep.h
+ caml/compatibility.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/memory.h caml/gc.h caml/mlvalues.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/globroots.h caml/major_gc.h caml/memory.h caml/minor_gc.h \
+ caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h
signals.d.o: signals.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
- caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
+ caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h
+signals_byt.d.o: signals_byt.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/memory.h caml/config.h \
+ caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/osdeps.h caml/signals.h \
+ caml/signals_machdep.h
stacks.d.o: stacks.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/fail.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h caml/stacks.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h
-startup_aux.d.o: startup_aux.c caml/backtrace.h caml/mlvalues.h \
- caml/compatibility.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/misc.h caml/exec.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/startup_aux.h
+ caml/../../config/s.h caml/compatibility.h caml/fail.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h caml/stacks.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h
startup.d.o: startup.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \
- caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h caml/exec.h \
- caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \
- caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \
- caml/osdeps.h caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h \
- caml/stacks.h caml/memory.h caml/sys.h caml/startup.h caml/startup_aux.h \
- caml/version.h
+ caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \
+ caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h \
+ caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \
+ caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \
+ caml/osdeps.h caml/prims.h caml/printexc.h caml/reverse.h \
+ caml/signals.h caml/stacks.h caml/memory.h caml/sys.h caml/startup.h \
+ caml/startup_aux.h caml/version.h
+startup_aux.d.o: startup_aux.c caml/backtrace.h caml/mlvalues.h \
+ caml/compatibility.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/exec.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/startup_aux.h
str.d.o: str.c caml/alloc.h caml/compatibility.h caml/misc.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
- caml/mlvalues.h caml/misc.h
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
+ caml/mlvalues.h caml/misc.h
sys.d.o: sys.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
- caml/mlvalues.h caml/debugger.h caml/fail.h caml/instruct.h \
- caml/mlvalues.h caml/osdeps.h caml/signals.h caml/stacks.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/sys.h caml/gc_ctrl.h caml/io.h
+ caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
+ caml/mlvalues.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \
+ caml/instruct.h caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h \
+ caml/signals.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/sys.h
terminfo.d.o: terminfo.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/fail.h caml/io.h caml/mlvalues.h
+ caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/fail.h caml/io.h caml/mlvalues.h
unix.d.o: unix.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/compatibility.h caml/memory.h caml/config.h caml/gc.h \
- caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/misc.h caml/osdeps.h
+ caml/compatibility.h caml/memory.h caml/config.h caml/gc.h \
+ caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/misc.h caml/osdeps.h
weak.d.o: weak.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
- caml/address_class.h caml/mlvalues.h
-win32.d.o: win32.c caml/address_class.h caml/misc.h caml/compatibility.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
- caml/osdeps.h caml/signals.h caml/sys.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
+ caml/address_class.h caml/mlvalues.h
+alloc.i.o: alloc.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
+ caml/address_class.h caml/mlvalues.h caml/stacks.h caml/memory.h
+array.i.o: array.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
+ caml/mlvalues.h caml/signals.h
+backtrace.i.o: backtrace.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/backtrace.h caml/exec.h \
+ caml/backtrace_prim.h caml/backtrace.h caml/fail.h
+backtrace_prim.i.o: backtrace_prim.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/mlvalues.h \
+ caml/config.h caml/misc.h caml/alloc.h caml/mlvalues.h caml/custom.h \
+ caml/io.h caml/instruct.h caml/intext.h caml/io.h caml/exec.h \
+ caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/startup.h caml/exec.h \
+ caml/stacks.h caml/memory.h caml/sys.h caml/backtrace.h caml/fail.h \
+ caml/backtrace_prim.h caml/backtrace.h
+callback.i.o: callback.c caml/callback.h caml/compatibility.h \
+ caml/mlvalues.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/mlvalues.h caml/interp.h caml/instruct.h caml/fix_code.h \
+ caml/stacks.h caml/memory.h
+compact.i.o: compact.c caml/address_class.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/compatibility.h \
+ caml/misc.h caml/mlvalues.h caml/config.h caml/finalise.h caml/roots.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
+ caml/major_gc.h caml/memory.h caml/mlvalues.h caml/roots.h caml/weak.h
+compare.i.o: compare.c caml/custom.h caml/compatibility.h caml/mlvalues.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h caml/misc.h \
+ caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/misc.h caml/mlvalues.h
+custom.i.o: custom.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/mlvalues.h
+debugger.i.o: debugger.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h caml/fail.h \
+ caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \
+ caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/sys.h
+dynlink.i.o: dynlink.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h \
+ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/misc.h caml/osdeps.h \
+ caml/prims.h caml/signals.h
+extern.i.o: extern.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \
+ caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
+ caml/mlvalues.h caml/reverse.h
+fail.i.o: fail.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h \
+ caml/stacks.h caml/memory.h
+finalise.i.o: finalise.c caml/callback.h caml/compatibility.h \
+ caml/mlvalues.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/fail.h caml/mlvalues.h \
+ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/signals.h
+fix_code.i.o: fix_code.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/debugger.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/fix_code.h caml/instruct.h \
+ caml/intext.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/misc.h caml/mlvalues.h caml/reverse.h
+floats.i.o: floats.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
+ caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h
+freelist.i.o: freelist.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/freelist.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/major_gc.h caml/misc.h caml/mlvalues.h
+gc_ctrl.i.o: gc_ctrl.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/backtrace.h caml/exec.h caml/compact.h \
+ caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
+ caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \
+ caml/mlvalues.h caml/signals.h caml/stacks.h caml/startup_aux.h
+globroots.i.o: globroots.c caml/memory.h caml/compatibility.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/gc.h caml/mlvalues.h \
+ caml/misc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
+ caml/memory.h caml/globroots.h caml/roots.h
+hash.i.o: hash.c caml/mlvalues.h caml/compatibility.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/custom.h \
+ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/hash.h
+instrtrace.i.o: instrtrace.c
+intern.i.o: intern.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/callback.h caml/custom.h caml/fail.h caml/gc.h \
+ caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/mlvalues.h caml/misc.h caml/reverse.h
+interp.i.o: interp.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \
+ caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \
+ caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/prims.h \
+ caml/signals.h caml/stacks.h caml/memory.h caml/startup_aux.h \
+ caml/jumptbl.h
+ints.i.o: ints.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h
+io.i.o: io.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/signals.h \
+ caml/sys.h
+lexing.i.o: lexing.c caml/fail.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h
+main.i.o: main.c caml/misc.h caml/compatibility.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/misc.h \
+ caml/sys.h
+major_gc.i.o: major_gc.c caml/compact.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/misc.h caml/custom.h \
+ caml/mlvalues.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
+ caml/major_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/weak.h
+md5.i.o: md5.c caml/alloc.h caml/compatibility.h caml/misc.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
+ caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
+ caml/io.h caml/reverse.h
+memory.i.o: memory.c caml/address_class.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/compatibility.h \
+ caml/misc.h caml/mlvalues.h caml/fail.h caml/freelist.h caml/gc.h \
+ caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/minor_gc.h \
+ caml/misc.h caml/mlvalues.h caml/signals.h
+meta.i.o: meta.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \
+ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
+ caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \
+ caml/memory.h
+minor_gc.i.o: minor_gc.c caml/custom.h caml/compatibility.h caml/mlvalues.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h caml/misc.h \
+ caml/config.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \
+ caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \
+ caml/signals.h caml/weak.h
+misc.i.o: misc.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/compatibility.h caml/misc.h caml/config.h caml/memory.h caml/gc.h \
+ caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/version.h
+obj.i.o: obj.c caml/alloc.h caml/compatibility.h caml/misc.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
+ caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
+ caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h
+parsing.i.o: parsing.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/mlvalues.h \
+ caml/config.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/alloc.h
+prims.i.o: prims.c caml/mlvalues.h caml/compatibility.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/prims.h
+printexc.i.o: printexc.c caml/backtrace.h caml/mlvalues.h \
+ caml/compatibility.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/exec.h caml/callback.h \
+ caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h
+roots.i.o: roots.c caml/finalise.h caml/roots.h caml/misc.h \
+ caml/compatibility.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/memory.h caml/gc.h caml/mlvalues.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/globroots.h caml/major_gc.h caml/memory.h caml/minor_gc.h \
+ caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h
+signals.i.o: signals.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
+ caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h
+signals_byt.i.o: signals_byt.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/memory.h caml/config.h \
+ caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/osdeps.h caml/signals.h \
+ caml/signals_machdep.h
+stacks.i.o: stacks.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/fail.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h caml/stacks.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h
+startup.i.o: startup.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \
+ caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h \
+ caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \
+ caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \
+ caml/osdeps.h caml/prims.h caml/printexc.h caml/reverse.h \
+ caml/signals.h caml/stacks.h caml/memory.h caml/sys.h caml/startup.h \
+ caml/startup_aux.h caml/version.h
+startup_aux.i.o: startup_aux.c caml/backtrace.h caml/mlvalues.h \
+ caml/compatibility.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/exec.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/startup_aux.h
+str.i.o: str.c caml/alloc.h caml/compatibility.h caml/misc.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
+ caml/mlvalues.h caml/misc.h
+sys.i.o: sys.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
+ caml/mlvalues.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \
+ caml/instruct.h caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h \
+ caml/signals.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/sys.h
+terminfo.i.o: terminfo.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/fail.h caml/io.h caml/mlvalues.h
+unix.i.o: unix.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/compatibility.h caml/memory.h caml/config.h caml/gc.h \
+ caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/misc.h caml/osdeps.h
+weak.i.o: weak.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
+ caml/address_class.h caml/mlvalues.h
alloc.pic.o: alloc.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
- caml/address_class.h caml/mlvalues.h caml/stacks.h caml/memory.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
+ caml/address_class.h caml/mlvalues.h caml/stacks.h caml/memory.h
array.pic.o: array.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
- caml/mlvalues.h
-backtrace.pic.o: backtrace.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/mlvalues.h caml/config.h \
- caml/misc.h caml/alloc.h caml/mlvalues.h caml/custom.h caml/io.h \
- caml/instruct.h caml/intext.h caml/io.h caml/exec.h caml/fix_code.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/startup.h caml/exec.h caml/stacks.h \
- caml/memory.h caml/sys.h caml/backtrace.h caml/fail.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
+ caml/mlvalues.h caml/signals.h
+backtrace.pic.o: backtrace.c caml/alloc.h caml/compatibility.h caml/misc.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/backtrace.h caml/exec.h \
+ caml/backtrace_prim.h caml/backtrace.h caml/fail.h
+backtrace_prim.pic.o: backtrace_prim.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/mlvalues.h \
+ caml/config.h caml/misc.h caml/alloc.h caml/mlvalues.h caml/custom.h \
+ caml/io.h caml/instruct.h caml/intext.h caml/io.h caml/exec.h \
+ caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/startup.h caml/exec.h \
+ caml/stacks.h caml/memory.h caml/sys.h caml/backtrace.h caml/fail.h \
+ caml/backtrace_prim.h caml/backtrace.h
callback.pic.o: callback.c caml/callback.h caml/compatibility.h \
- caml/mlvalues.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/mlvalues.h caml/interp.h caml/instruct.h caml/fix_code.h \
- caml/stacks.h caml/memory.h
-compact.pic.o: compact.c caml/address_class.h caml/misc.h \
- caml/compatibility.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/mlvalues.h caml/config.h caml/finalise.h \
- caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/freelist.h caml/gc.h \
- caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \
- caml/roots.h caml/weak.h
+ caml/mlvalues.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/mlvalues.h caml/interp.h caml/instruct.h caml/fix_code.h \
+ caml/stacks.h caml/memory.h
+compact.pic.o: compact.c caml/address_class.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/compatibility.h \
+ caml/misc.h caml/mlvalues.h caml/config.h caml/finalise.h caml/roots.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
+ caml/major_gc.h caml/memory.h caml/mlvalues.h caml/roots.h caml/weak.h
compare.pic.o: compare.c caml/custom.h caml/compatibility.h caml/mlvalues.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h caml/misc.h \
- caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/misc.h caml/mlvalues.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h caml/misc.h \
+ caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/misc.h caml/mlvalues.h
custom.pic.o: custom.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/custom.h caml/fail.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/mlvalues.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/mlvalues.h
debugger.pic.o: debugger.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h caml/fail.h \
- caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \
- caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/sys.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h caml/fail.h \
+ caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \
+ caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/sys.h
dynlink.pic.o: dynlink.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h caml/mlvalues.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/osdeps.h caml/prims.h \
- caml/signals.h
+ caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h \
+ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/misc.h caml/osdeps.h \
+ caml/prims.h caml/signals.h
extern.pic.o: extern.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \
- caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
- caml/mlvalues.h caml/reverse.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \
+ caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
+ caml/mlvalues.h caml/reverse.h
fail.pic.o: fail.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \
- caml/memory.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h \
+ caml/stacks.h caml/memory.h
finalise.pic.o: finalise.c caml/callback.h caml/compatibility.h \
- caml/mlvalues.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/misc.h caml/fail.h caml/mlvalues.h \
- caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/signals.h
+ caml/mlvalues.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/fail.h caml/mlvalues.h \
+ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/signals.h
fix_code.pic.o: fix_code.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/debugger.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/fix_code.h caml/instruct.h \
- caml/intext.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/misc.h caml/mlvalues.h caml/reverse.h
+ caml/../../config/s.h caml/compatibility.h caml/debugger.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/fix_code.h caml/instruct.h \
+ caml/intext.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/misc.h caml/mlvalues.h caml/reverse.h
floats.pic.o: floats.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
- caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
+ caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h
freelist.pic.o: freelist.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/freelist.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/major_gc.h caml/misc.h caml/mlvalues.h
+ caml/../../config/s.h caml/compatibility.h caml/freelist.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/major_gc.h caml/misc.h caml/mlvalues.h
gc_ctrl.pic.o: gc_ctrl.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/compact.h caml/custom.h caml/finalise.h \
- caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/freelist.h caml/gc.h \
- caml/gc_ctrl.h caml/major_gc.h caml/minor_gc.h caml/misc.h \
- caml/mlvalues.h caml/stacks.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/backtrace.h caml/exec.h caml/compact.h \
+ caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
+ caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \
+ caml/mlvalues.h caml/signals.h caml/stacks.h caml/startup_aux.h
globroots.pic.o: globroots.c caml/memory.h caml/compatibility.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/gc.h caml/mlvalues.h \
- caml/misc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
- caml/memory.h caml/globroots.h caml/roots.h
+ caml/../../config/m.h caml/../../config/s.h caml/gc.h caml/mlvalues.h \
+ caml/misc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
+ caml/memory.h caml/globroots.h caml/roots.h
hash.pic.o: hash.c caml/mlvalues.h caml/compatibility.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/custom.h \
- caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/hash.h
+ caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/custom.h \
+ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/hash.h
instrtrace.pic.o: instrtrace.c
intern.pic.o: intern.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/callback.h caml/custom.h caml/fail.h caml/gc.h \
- caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/mlvalues.h caml/misc.h caml/reverse.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/callback.h caml/custom.h caml/fail.h caml/gc.h \
+ caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/mlvalues.h caml/misc.h caml/reverse.h
interp.pic.o: interp.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \
- caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \
- caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h caml/prims.h \
- caml/signals.h caml/stacks.h caml/memory.h caml/startup_aux.h \
- caml/jumptbl.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \
+ caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \
+ caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/prims.h \
+ caml/signals.h caml/stacks.h caml/memory.h caml/startup_aux.h \
+ caml/jumptbl.h
ints.pic.o: ints.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h
io.pic.o: io.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
- caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h caml/signals.h \
- caml/sys.h
+ caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
+ caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/signals.h \
+ caml/sys.h
lexing.pic.o: lexing.c caml/fail.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h
main.pic.o: main.c caml/misc.h caml/compatibility.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/misc.h \
- caml/sys.h
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/misc.h \
+ caml/sys.h
major_gc.pic.o: major_gc.c caml/compact.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/misc.h caml/custom.h \
- caml/mlvalues.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
- caml/major_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/weak.h
+ caml/../../config/s.h caml/compatibility.h caml/misc.h caml/custom.h \
+ caml/mlvalues.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
+ caml/major_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/weak.h
md5.pic.o: md5.c caml/alloc.h caml/compatibility.h caml/misc.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
- caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
- caml/io.h caml/reverse.h
-memory.pic.o: memory.c caml/address_class.h caml/misc.h caml/compatibility.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \
- caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/minor_gc.h caml/address_class.h caml/minor_gc.h caml/misc.h \
- caml/mlvalues.h caml/signals.h
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
+ caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/mlvalues.h \
+ caml/io.h caml/reverse.h
+memory.pic.o: memory.c caml/address_class.h caml/config.h \
+ caml/../../config/m.h caml/../../config/s.h caml/compatibility.h \
+ caml/misc.h caml/mlvalues.h caml/fail.h caml/freelist.h caml/gc.h \
+ caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/minor_gc.h \
+ caml/misc.h caml/mlvalues.h caml/signals.h
meta.pic.o: meta.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \
- caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
- caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \
- caml/memory.h
-minor_gc.pic.o: minor_gc.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/fail.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/finalise.h caml/roots.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \
- caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \
- caml/signals.h caml/weak.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \
+ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
+ caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \
+ caml/memory.h
+minor_gc.pic.o: minor_gc.c caml/custom.h caml/compatibility.h caml/mlvalues.h \
+ caml/config.h caml/../../config/m.h caml/../../config/s.h caml/misc.h \
+ caml/config.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \
+ caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \
+ caml/signals.h caml/weak.h
misc.pic.o: misc.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/compatibility.h caml/misc.h caml/config.h caml/memory.h caml/gc.h \
- caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h
+ caml/compatibility.h caml/misc.h caml/config.h caml/memory.h caml/gc.h \
+ caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/version.h
obj.pic.o: obj.c caml/alloc.h caml/compatibility.h caml/misc.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
- caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
- caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
+ caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \
+ caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h
parsing.pic.o: parsing.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/mlvalues.h caml/config.h \
- caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/alloc.h
+ caml/../../config/s.h caml/compatibility.h caml/mlvalues.h \
+ caml/config.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/alloc.h
prims.pic.o: prims.c caml/mlvalues.h caml/compatibility.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/prims.h
+ caml/../../config/m.h caml/../../config/s.h caml/misc.h caml/prims.h
printexc.pic.o: printexc.c caml/backtrace.h caml/mlvalues.h \
- caml/compatibility.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/misc.h caml/exec.h caml/callback.h \
- caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h
+ caml/compatibility.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/exec.h caml/callback.h \
+ caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h
roots.pic.o: roots.c caml/finalise.h caml/roots.h caml/misc.h \
- caml/compatibility.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/memory.h caml/gc.h caml/mlvalues.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/globroots.h caml/major_gc.h caml/memory.h caml/minor_gc.h \
- caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h
-signals_byt.pic.o: signals_byt.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/memory.h caml/config.h \
- caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/osdeps.h caml/signals.h \
- caml/signals_machdep.h
+ caml/compatibility.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/memory.h caml/gc.h caml/mlvalues.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/globroots.h caml/major_gc.h caml/memory.h caml/minor_gc.h \
+ caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h
signals.pic.o: signals.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
- caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h caml/memory.h \
+ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/misc.h caml/mlvalues.h caml/roots.h \
+ caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h
+signals_byt.pic.o: signals_byt.c caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/compatibility.h caml/memory.h caml/config.h \
+ caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/osdeps.h caml/signals.h \
+ caml/signals_machdep.h
stacks.pic.o: stacks.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/fail.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h caml/stacks.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h
-startup_aux.pic.o: startup_aux.c caml/backtrace.h caml/mlvalues.h \
- caml/compatibility.h caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/misc.h caml/exec.h caml/memory.h caml/gc.h \
- caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
- caml/startup_aux.h
+ caml/../../config/s.h caml/compatibility.h caml/fail.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h caml/stacks.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h
startup.pic.o: startup.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \
- caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h caml/exec.h \
- caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \
- caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \
- caml/osdeps.h caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h \
- caml/stacks.h caml/memory.h caml/sys.h caml/startup.h caml/startup_aux.h \
- caml/version.h
+ caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \
+ caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h \
+ caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \
+ caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
+ caml/address_class.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \
+ caml/osdeps.h caml/prims.h caml/printexc.h caml/reverse.h \
+ caml/signals.h caml/stacks.h caml/memory.h caml/sys.h caml/startup.h \
+ caml/startup_aux.h caml/version.h
+startup_aux.pic.o: startup_aux.c caml/backtrace.h caml/mlvalues.h \
+ caml/compatibility.h caml/config.h caml/../../config/m.h \
+ caml/../../config/s.h caml/misc.h caml/exec.h caml/memory.h caml/gc.h \
+ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \
+ caml/startup_aux.h
str.pic.o: str.c caml/alloc.h caml/compatibility.h caml/misc.h caml/config.h \
- caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
- caml/mlvalues.h caml/misc.h
+ caml/../../config/m.h caml/../../config/s.h caml/mlvalues.h caml/fail.h \
+ caml/mlvalues.h caml/misc.h
sys.pic.o: sys.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
- caml/mlvalues.h caml/debugger.h caml/fail.h caml/instruct.h \
- caml/mlvalues.h caml/osdeps.h caml/signals.h caml/stacks.h caml/memory.h \
- caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \
- caml/address_class.h caml/sys.h caml/gc_ctrl.h caml/io.h
+ caml/compatibility.h caml/alloc.h caml/misc.h caml/config.h \
+ caml/mlvalues.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \
+ caml/instruct.h caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h \
+ caml/signals.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \
+ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/sys.h
terminfo.pic.o: terminfo.c caml/config.h caml/../../config/m.h \
- caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
- caml/config.h caml/mlvalues.h caml/fail.h caml/io.h caml/mlvalues.h
+ caml/../../config/s.h caml/compatibility.h caml/alloc.h caml/misc.h \
+ caml/config.h caml/mlvalues.h caml/fail.h caml/io.h caml/mlvalues.h
unix.pic.o: unix.c caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/compatibility.h caml/memory.h caml/config.h caml/gc.h \
- caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
- caml/minor_gc.h caml/address_class.h caml/misc.h caml/osdeps.h
+ caml/compatibility.h caml/memory.h caml/config.h caml/gc.h \
+ caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \
+ caml/minor_gc.h caml/address_class.h caml/misc.h caml/osdeps.h
weak.pic.o: weak.c caml/alloc.h caml/compatibility.h caml/misc.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \
- caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
- caml/address_class.h caml/mlvalues.h
-win32.pic.o: win32.c caml/address_class.h caml/misc.h caml/compatibility.h \
- caml/config.h caml/../../config/m.h caml/../../config/s.h \
- caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \
- caml/freelist.h caml/minor_gc.h caml/address_class.h caml/misc.h \
- caml/osdeps.h caml/signals.h caml/sys.h
+ caml/config.h caml/../../config/m.h caml/../../config/s.h \
+ caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \
+ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \
+ caml/address_class.h caml/mlvalues.h
diff --git a/byterun/Makefile b/byterun/Makefile
index d24902b286..ff3d4e6f84 100644
--- a/byterun/Makefile
+++ b/byterun/Makefile
@@ -15,9 +15,11 @@ include Makefile.common
CFLAGS=-DCAML_NAME_SPACE $(BYTECCCOMPOPTS) $(IFLEXDIR)
DFLAGS=-DCAML_NAME_SPACE -g -DDEBUG $(BYTECCCOMPOPTS) $(IFLEXDIR)
+IFLAGS=$(CFLAGS) -DCAML_INSTR
OBJS=$(COMMONOBJS) $(UNIX_OR_WIN32).o main.o
DOBJS=$(OBJS:.o=.d.o) instrtrace.d.o
+IOBJS=$(OBJS:.o=.i.o)
PICOBJS=$(OBJS:.o=.pic.o)
all:: all-$(SHARED)
@@ -30,6 +32,9 @@ ocamlrund$(EXE): libcamlrund.a prims.o
$(MKEXE) $(MKEXEDEBUGFLAG) $(BYTECCLINKOPTS) -o ocamlrund$(EXE) \
prims.o libcamlrund.a $(BYTECCLIBS)
+ocamlruni$(EXE): prims.o libcamlruni.a
+ $(MKEXE) $(BYTECCLINKOPTS) -o $@ $^ $(BYTECCLIBS)
+
libcamlrun.a: $(OBJS)
$(ARCMD) rc libcamlrun.a $(OBJS)
$(RANLIB) libcamlrun.a
@@ -38,6 +43,10 @@ libcamlrund.a: $(DOBJS)
$(ARCMD) rc libcamlrund.a $(DOBJS)
$(RANLIB) libcamlrund.a
+libcamlruni.a: $(IOBJS)
+ $(ARCMD) rc $@ $^
+ $(RANLIB) $@
+
all-noshared:
.PHONY: all-noshared
@@ -68,12 +77,18 @@ clean::
%.d.o: %.c
$(CC) -c $(DFLAGS) $< -o $@
+%.i.o: %.c
+ $(CC) -c $(IFLAGS) -o $@ $<
+
%.pic.o: %.c
$(CC) -c $(CFLAGS) $(SHAREDCCCOMPOPTS) $< -o $@
depend : prims.c caml/opnames.h caml/jumptbl.h caml/version.h
-$(CC) -MM $(BYTECCCOMPOPTS) *.c > .depend
- -$(CC) -MM $(BYTECCCOMPOPTS) -DDEBUG *.c | sed -e 's/\.o/.d.o/' >> .depend
+ -$(CC) -MM $(BYTECCCOMPOPTS) -DDEBUG *.c | sed -e 's/\.o/.d.o/' \
+ >> .depend
+ -$(CC) -MM $(BYTECCCOMPOPTS) -DCAML_INSTR *.c | sed -e 's/\.o/.i.o/' \
+ >> .depend
-$(CC) -MM $(BYTECCCOMPOPTS) *.c | sed -e 's/\.o/.pic.o/' >> .depend
.PHONY: depend
diff --git a/byterun/Makefile.common b/byterun/Makefile.common
index 7aef44a506..6e5109f811 100644
--- a/byterun/Makefile.common
+++ b/byterun/Makefile.common
@@ -48,6 +48,10 @@ all-noruntimed:
all-runtimed: ocamlrund$(EXE) libcamlrund.$(A)
.PHONY: all-runtimed
+ifeq "$(RUNTIMEI)" "true"
+all:: ocamlruni$(EXE) libcamlruni.$(A)
+endif
+
ld.conf: ../config/Makefile
echo "$(STUBLIBDIR)" > ld.conf
echo "$(LIBDIR)" >> ld.conf
@@ -84,6 +88,12 @@ install-runtimed:
cp libcamlrund.$(A) $(INSTALL_LIBDIR)/libcamlrund.$(A)
.PHONY: install-runtimed
+ifeq "$(RUNTIMEI)" "true"
+install::
+ cp ocamlruni$(EXE) $(INSTALL_BINDIR)/ocamlruni$(EXE)
+ cp libcamlruni.$(A) $(INSTALL_LIBDIR)/libcamlruni.$(A)
+endif
+
# If primitives contain duplicated lines (e.g. because the code is defined
# like
# #ifdef X
diff --git a/byterun/array.c b/byterun/array.c
index 5dffc53bfa..35ced4644d 100644
--- a/byterun/array.c
+++ b/byterun/array.c
@@ -18,6 +18,7 @@
#include "caml/memory.h"
#include "caml/misc.h"
#include "caml/mlvalues.h"
+#include "caml/signals.h"
/* returns number of elements (either fields or floats) */
CAMLexport mlsize_t caml_array_length(value array)
@@ -181,12 +182,16 @@ CAMLprim value caml_make_vect(value len, value init)
}
} else {
if (size > Max_wosize) caml_invalid_argument("Array.make");
- if (size < Max_young_wosize) {
+ if (size <= Max_young_wosize) {
res = caml_alloc_small(size, 0);
for (i = 0; i < size; i++) Field(res, i) = init;
}
else if (Is_block(init) && Is_young(init)) {
- caml_minor_collection();
+ /* We don't want to create so many major-to-minor references,
+ so [init] is moved to the major heap by doing a minor GC. */
+ CAML_INSTR_INT ("force_minor/make_vect@", 1);
+ caml_request_minor_gc ();
+ caml_gc_dispatch ();
res = caml_alloc_shr(size, 0);
for (i = 0; i < size; i++) Field(res, i) = init;
res = caml_check_urgent_gc (res);
@@ -324,7 +329,7 @@ static value caml_array_gather(intnat num_arrays,
/* Array of values, too big. */
caml_invalid_argument("Array.concat");
}
- else if (size < Max_young_wosize) {
+ else if (size <= Max_young_wosize) {
/* Array of values, small enough to fit in young generation.
We can use memcpy directly. */
res = caml_alloc_small(size, 0);
diff --git a/byterun/caml/address_class.h b/byterun/caml/address_class.h
index 2cf6c048a2..16134f04b8 100644
--- a/byterun/caml/address_class.h
+++ b/byterun/caml/address_class.h
@@ -16,6 +16,7 @@
#ifndef CAML_ADDRESS_CLASS_H
#define CAML_ADDRESS_CLASS_H
+#include "config.h"
#include "misc.h"
#include "mlvalues.h"
diff --git a/byterun/caml/config.h b/byterun/caml/config.h
index 490f38ac2e..febc721677 100644
--- a/byterun/caml/config.h
+++ b/byterun/caml/config.h
@@ -112,6 +112,15 @@ typedef uint64_t uintnat;
#define ARCH_FLOAT_ENDIANNESS 0x01234567
#endif
+
+/* We use static inline functions in some cases instead of duplicating
+ code but the MSVC compiler has a slightly different syntax. */
+
+#ifdef _MSC_VER
+#define inline _inline
+#endif
+
+
/* We use threaded code interpretation if the compiler provides labels
as first-class values (GCC 2.x). */
@@ -143,10 +152,11 @@ typedef uint64_t uintnat;
/* Maximum size of a block allocated in the young generation (words). */
/* Must be > 4 */
#define Max_young_wosize 256
+#define Max_young_whsize (Whsize_wosize (Max_young_wosize))
/* Minimum size of the minor zone (words).
- This must be at least [Max_young_wosize + 1]. */
+ This must be at least [2 * Max_young_whsize]. */
#define Minor_heap_min 4096
/* Maximum size of the minor zone (words).
@@ -185,5 +195,12 @@ typedef uint64_t uintnat;
*/
#define Max_percent_free_def 500
+/* Default setting for the major GC slice smoothing window: 1
+ (i.e. no smoothing)
+*/
+#define Major_window_def 1
+
+/* Maximum size of the major GC slice smoothing window. */
+#define Max_major_window 50
#endif /* CAML_CONFIG_H */
diff --git a/byterun/caml/gc_ctrl.h b/byterun/caml/gc_ctrl.h
index 459c685a22..93af2b2ed2 100644
--- a/byterun/caml/gc_ctrl.h
+++ b/byterun/caml/gc_ctrl.h
@@ -31,8 +31,16 @@ extern intnat
uintnat caml_normalize_heap_increment (uintnat);
-void caml_init_gc (uintnat, uintnat, uintnat,
- uintnat, uintnat);
+/*
+ minor_size: cf. minor_heap_size in gc.mli
+ major_size: Size in words of the initial major heap
+ major_incr: cf. major_heap_increment in gc.mli
+ percent_fr: cf. space_overhead in gc.mli
+ percent_m : cf. max_overhead in gc.mli
+ window : cf. window_size in gc.mli
+*/
+void caml_init_gc (uintnat minor_size, uintnat major_size, uintnat major_incr,
+ uintnat percent_fr, uintnat percent_m, uintnat window);
#ifdef DEBUG
diff --git a/byterun/caml/instrtrace.h b/byterun/caml/instrtrace.h
index 3020160811..4a4ba108c3 100644
--- a/byterun/caml/instrtrace.h
+++ b/byterun/caml/instrtrace.h
@@ -20,7 +20,6 @@
#include "mlvalues.h"
#include "misc.h"
-extern int caml_trace_flag;
extern intnat caml_icount;
void caml_stop_here (void);
void caml_disasm_instr (code_t pc);
diff --git a/byterun/caml/major_gc.h b/byterun/caml/major_gc.h
index 047f16a4ea..53027a7b26 100644
--- a/byterun/caml/major_gc.h
+++ b/byterun/caml/major_gc.h
@@ -40,21 +40,29 @@ extern uintnat caml_fl_wsz_at_phase_change;
#define Phase_mark 0
#define Phase_sweep 1
#define Phase_idle 2
-#define Subphase_main 10
-#define Subphase_weak1 11
-#define Subphase_weak2 12
-#define Subphase_final 13
+#define Subphase_roots 10
+#define Subphase_main 11
+#define Subphase_weak1 12
+#define Subphase_weak2 13
+#define Subphase_final 14
CAMLextern char *caml_heap_start;
extern uintnat total_heap_size;
extern char *caml_gc_sweep_hp;
+extern int caml_major_window;
+double caml_major_ring[Max_major_window];
+int caml_major_ring_index;
+double caml_major_work_credit;
+extern double caml_gc_clock;
+
void caml_init_major_heap (asize_t); /* size in bytes */
-asize_t caml_round_heap_chunk_wsz (asize_t);
+asize_t caml_clip_heap_chunk_wsz (asize_t wsz);
void caml_darken (value, value *);
-intnat caml_major_collection_slice (intnat);
+void caml_major_collection_slice (intnat);
void major_collection (void);
void caml_finish_major_cycle (void);
+void caml_set_major_window (int);
#endif /* CAML_MAJOR_GC_H */
diff --git a/byterun/caml/memory.h b/byterun/caml/memory.h
index 419c5356a7..dcf4b449e0 100644
--- a/byterun/caml/memory.h
+++ b/byterun/caml/memory.h
@@ -44,15 +44,32 @@ CAMLextern value caml_check_urgent_gc (value);
CAMLextern void * caml_stat_alloc (asize_t); /* Size in bytes. */
CAMLextern void caml_stat_free (void *);
CAMLextern void * caml_stat_resize (void *, asize_t); /* Size in bytes. */
-char *caml_alloc_for_heap (asize_t request); /* Size in bytes. */
-void caml_free_for_heap (char *mem);
-int caml_add_to_heap (char *mem);
-color_t caml_allocation_color (void *hp);
+CAMLextern int caml_init_alloc_for_heap (void);
+CAMLextern char *caml_alloc_for_heap (asize_t request); /* Size in bytes. */
+CAMLextern void caml_free_for_heap (char *mem);
+CAMLextern int caml_add_to_heap (char *mem);
+CAMLextern color_t caml_allocation_color (void *hp);
+
+CAMLextern int caml_huge_fallback_count;
/* void caml_shrink_heap (char *); Only used in compact.c */
/* <private> */
+extern uintnat caml_use_huge_pages;
+
+#ifdef HAS_HUGE_PAGES
+#include <sys/mman.h>
+#define Heap_page_size HUGE_PAGE_SIZE
+#define Round_mmap_size(x) \
+ (((x) + (Heap_page_size - 1)) & ~ (Heap_page_size - 1))
+#endif
+
+
+int caml_page_table_add(int kind, void * start, void * end);
+int caml_page_table_remove(int kind, void * start, void * end);
+int caml_page_table_initialize(mlsize_t bytesize);
+
#ifdef DEBUG
#define DEBUG_clear(result, wosize) do{ \
uintnat caml__DEBUG_i; \
@@ -68,10 +85,11 @@ color_t caml_allocation_color (void *hp);
CAMLassert ((tag_t) (tag) < 256); \
CAMLassert ((wosize) <= Max_young_wosize); \
caml_young_ptr -= Whsize_wosize (wosize); \
- if (caml_young_ptr < caml_young_start){ \
+ if (caml_young_ptr < caml_young_trigger){ \
caml_young_ptr += Whsize_wosize (wosize); \
+ CAML_INSTR_INT ("force_minor/alloc_small@", 1); \
Setup_for_gc; \
- caml_minor_collection (); \
+ caml_gc_dispatch (); \
Restore_after_gc; \
caml_young_ptr -= Whsize_wosize (wosize); \
} \
diff --git a/byterun/caml/minor_gc.h b/byterun/caml/minor_gc.h
index 281e0b5e5e..04f6f99539 100644
--- a/byterun/caml/minor_gc.h
+++ b/byterun/caml/minor_gc.h
@@ -16,9 +16,12 @@
#include "address_class.h"
+#include "config.h"
-CAMLextern value *caml_young_start, *caml_young_ptr;
-CAMLextern value *caml_young_end, *caml_young_limit;
+CAMLextern value *caml_young_start, *caml_young_end;
+CAMLextern value *caml_young_alloc_start, *caml_young_alloc_end;
+CAMLextern value *caml_young_ptr, *caml_young_limit;
+CAMLextern value *caml_young_trigger;
extern asize_t caml_minor_heap_wsz;
extern int caml_in_minor_collection;
@@ -36,7 +39,7 @@ CAMLextern struct caml_ref_table caml_ref_table, caml_weak_ref_table,
extern void caml_set_minor_heap_size (asize_t); /* size in bytes */
extern void caml_empty_minor_heap (void);
-CAMLextern void caml_minor_collection (void);
+CAMLextern void caml_gc_dispatch (void);
CAMLextern void garbage_collection (void); /* def in asmrun/signals_asm.c */
extern void caml_realloc_ref_table (struct caml_ref_table *);
extern void caml_alloc_table (struct caml_ref_table *, asize_t, asize_t);
@@ -50,4 +53,13 @@ extern void caml_oldify_mopup (void);
} \
}while(0)
+static inline void add_to_ref_table (struct caml_ref_table *tbl, value *p)
+{
+ if (tbl->ptr >= tbl->limit){
+ CAMLassert (tbl->ptr == tbl->limit);
+ caml_realloc_ref_table (tbl);
+ }
+ *tbl->ptr++ = p;
+}
+
#endif /* CAML_MINOR_GC_H */
diff --git a/byterun/caml/misc.h b/byterun/caml/misc.h
index 13a0e49813..18c2c30e98 100644
--- a/byterun/caml/misc.h
+++ b/byterun/caml/misc.h
@@ -201,6 +201,104 @@ extern int caml_snprintf(char * buf, size_t size, const char * format, ...);
#define snprintf caml_snprintf
#endif
+#ifdef CAML_INSTR
+/* Timers and counters for GC latency profiling (Linux-only) */
+
+#include <time.h>
+#include <stdio.h>
+
+extern intnat caml_stat_minor_collections;
+extern intnat CAML_INSTR_STARTTIME, CAML_INSTR_STOPTIME;
+
+struct CAML_INSTR_BLOCK {
+ struct timespec ts[10];
+ char *tag[10];
+ int index;
+ struct CAML_INSTR_BLOCK *next;
+};
+
+extern struct CAML_INSTR_BLOCK *CAML_INSTR_LOG;
+
+/* Declare a timer/counter name. [t] must be a new variable name. */
+#define CAML_INSTR_DECLARE(t) \
+ struct CAML_INSTR_BLOCK *t = NULL
+
+/* Allocate the data block for a given name.
+ [t] must have been declared with [CAML_INSTR_DECLARE]. */
+#define CAML_INSTR_ALLOC(t) do{ \
+ if (caml_stat_minor_collections >= CAML_INSTR_STARTTIME \
+ && caml_stat_minor_collections < CAML_INSTR_STOPTIME){ \
+ t = malloc (sizeof (struct CAML_INSTR_BLOCK)); \
+ t->index = 0; \
+ t->tag[0] = ""; \
+ t->next = CAML_INSTR_LOG; \
+ CAML_INSTR_LOG = t; \
+ } \
+ }while(0)
+
+/* Allocate the data block and start the timer.
+ [t] must have been declared with [CAML_INSTR_DECLARE]
+ and allocated with [CAML_INSTR_ALLOC]. */
+#define CAML_INSTR_START(t, msg) do{ \
+ if (t != NULL){ \
+ t->tag[0] = msg; \
+ clock_gettime (CLOCK_REALTIME, &(t->ts[0])); \
+ } \
+ }while(0)
+
+/* Declare a timer, allocate its data, and start it.
+ [t] must be a new variable name. */
+#define CAML_INSTR_SETUP(t, msg) \
+ CAML_INSTR_DECLARE (t); \
+ CAML_INSTR_ALLOC (t); \
+ CAML_INSTR_START (t, msg)
+
+/* Record an intermediate time within a given timer.
+ [t] must have been declared, allocated, and started. */
+#define CAML_INSTR_TIME(t, msg) do{ \
+ if (t != NULL){ \
+ ++ t->index; \
+ t->tag[t->index] = (msg); \
+ clock_gettime (CLOCK_REALTIME, &(t->ts[t->index])); \
+ } \
+ }while(0)
+
+/* Record an integer data point.
+ If [msg] ends with # it will be interpreted as an integer-valued event.
+ If it ends with @ it will be interpreted as an event counter.
+*/
+#define CAML_INSTR_INT(msg, data) do{ \
+ CAML_INSTR_SETUP (__caml_tmp, ""); \
+ if (__caml_tmp != NULL){ \
+ __caml_tmp->index = 1; \
+ __caml_tmp->tag[1] = msg; \
+ __caml_tmp->ts[1].tv_sec = 0; \
+ __caml_tmp->ts[1].tv_nsec = (data); \
+ } \
+ }while(0)
+
+/* This function is called at the start of the program to set up
+ the data for the above macros.
+*/
+extern void CAML_INSTR_INIT (void);
+
+/* This function is automatically called by the runtime to output
+ the collected data to the dump file. */
+extern void CAML_INSTR_ATEXIT (void);
+
+#else /* CAML_INSTR */
+
+#define CAML_INSTR_DECLARE(t) /**/
+#define CAML_INSTR_ALLOC(t) /**/
+#define CAML_INSTR_START(t, name) /**/
+#define CAML_INSTR_SETUP(t, name) /**/
+#define CAML_INSTR_TIME(t, msg) /**/
+#define CAML_INSTR_INT(msg, c) /**/
+#define CAML_INSTR_INIT() /**/
+#define CAML_INSTR_ATEXIT() /**/
+
+#endif /* CAML_INSTR */
+
/* </private> */
#ifdef __cplusplus
diff --git a/byterun/caml/mlvalues.h b/byterun/caml/mlvalues.h
index e578009c8d..e14f50efc2 100644
--- a/byterun/caml/mlvalues.h
+++ b/byterun/caml/mlvalues.h
@@ -217,7 +217,8 @@ CAMLextern value caml_hash_variant(char const * tag);
#define Byte_u(x, i) (((unsigned char *) (x)) [i]) /* Also an l-value. */
/* Abstract things. Their contents is not traced by the GC; therefore they
- must not contain any [value].
+ must not contain any [value]. Must have odd number so that headers with
+ this tag cannot be mistaken for pointers (see caml_obj_truncate).
*/
#define Abstract_tag 251
@@ -304,6 +305,4 @@ CAMLextern value caml_set_oo_id(value obj);
}
#endif
-extern intnat caml_stat_top_heap_wsz;
-
#endif /* CAML_MLVALUES_H */
diff --git a/byterun/caml/roots.h b/byterun/caml/roots.h
index ca6a5d2623..3bea425ff1 100644
--- a/byterun/caml/roots.h
+++ b/byterun/caml/roots.h
@@ -20,8 +20,10 @@
typedef void (*scanning_action) (value, value *);
void caml_oldify_local_roots (void);
-void caml_darken_all_roots (void);
-void caml_do_roots (scanning_action);
+void caml_darken_all_roots_start (void);
+intnat caml_darken_all_roots_slice (intnat);
+void caml_do_roots (scanning_action, int);
+extern uintnat caml_incremental_roots_count;
#ifndef NATIVE_CODE
CAMLextern void caml_do_local_roots (scanning_action, value *, value *,
struct caml__roots_block *);
diff --git a/byterun/caml/signals.h b/byterun/caml/signals.h
index 584516660c..0364c6f07d 100644
--- a/byterun/caml/signals.h
+++ b/byterun/caml/signals.h
@@ -28,14 +28,16 @@ extern "C" {
CAMLextern intnat volatile caml_signals_are_pending;
CAMLextern intnat volatile caml_pending_signals[];
CAMLextern int volatile caml_something_to_do;
-extern int volatile caml_force_major_slice;
+extern int volatile caml_requested_major_slice;
+extern int volatile caml_requested_minor_gc;
/* </private> */
CAMLextern void caml_enter_blocking_section (void);
CAMLextern void caml_leave_blocking_section (void);
/* <private> */
-void caml_urge_major_slice (void);
+void caml_request_major_slice (void);
+void caml_request_minor_gc (void);
CAMLextern int caml_convert_signal_number (int);
CAMLextern int caml_rev_convert_signal_number (int);
void caml_execute_signal(int signal_number, int in_signal_handler);
diff --git a/byterun/caml/startup_aux.h b/byterun/caml/startup_aux.h
index f1de0e29af..2c9bb59464 100644
--- a/byterun/caml/startup_aux.h
+++ b/byterun/caml/startup_aux.h
@@ -21,6 +21,7 @@ extern uintnat caml_init_minor_heap_wsz;
extern uintnat caml_init_heap_chunk_sz;
extern uintnat caml_init_heap_wsz;
extern uintnat caml_init_max_stack_wsz;
+extern uintnat caml_init_major_window;
extern uintnat caml_trace_level;
extern void caml_parse_ocamlrunparam (void);
diff --git a/byterun/compact.c b/byterun/compact.c
index 77b9479f53..07ffabb31e 100644
--- a/byterun/compact.c
+++ b/byterun/compact.c
@@ -185,7 +185,7 @@ static void do_compaction (void)
/* Invert roots first because the threads library needs some heap
data structures to find its roots. Fortunately, it doesn't need
the headers (see above). */
- caml_do_roots (invert_root);
+ caml_do_roots (invert_root, 1);
caml_final_do_weak_roots (invert_root);
ch = caml_heap_start;
@@ -398,8 +398,14 @@ uintnat caml_percent_max; /* used in gc_ctrl.c and memory.c */
void caml_compact_heap (void)
{
uintnat target_wsz, live;
+ CAML_INSTR_SETUP(tmr, "compact");
+
+ CAMLassert (caml_young_ptr == caml_young_alloc_end);
+ CAMLassert (caml_ref_table.ptr == caml_ref_table.base);
+ CAMLassert (caml_weak_ref_table.ptr == caml_weak_ref_table.base);
do_compaction ();
+ CAML_INSTR_TIME (tmr, "compact/main");
/* Compaction may fail to shrink the heap to a reasonable size
because it deals in complete chunks: if a very large chunk
is at the beginning of the heap, everything gets moved to
@@ -428,8 +434,16 @@ void caml_compact_heap (void)
live = caml_stat_heap_wsz - caml_fl_cur_wsz;
target_wsz = live + caml_percent_free * (live / 100 + 1)
+ Wsize_bsize (Page_size);
- target_wsz = caml_round_heap_chunk_wsz (target_wsz);
+ target_wsz = caml_clip_heap_chunk_wsz (target_wsz);
+
+#ifdef HAS_HUGE_PAGES
+ if (caml_use_huge_pages
+ && Bsize_wsize (caml_stat_heap_wsz) <= HUGE_PAGE_SIZE)
+ return;
+#endif
+
if (target_wsz < caml_stat_heap_wsz / 2){
+ /* Recompact. */
char *chunk;
caml_gc_message (0x10, "Recompacting heap (target=%luk words)\n",
@@ -456,6 +470,7 @@ void caml_compact_heap (void)
Assert (caml_stat_heap_chunks == 1);
Assert (Chunk_next (caml_heap_start) == NULL);
Assert (caml_stat_heap_wsz == Wsize_bsize (Chunk_size (chunk)));
+ CAML_INSTR_TIME (tmr, "compact/recompact");
}
}
@@ -473,7 +488,13 @@ void caml_compact_heap_maybe (void)
Assert (caml_gc_phase == Phase_idle);
if (caml_percent_max >= 1000000) return;
if (caml_stat_major_collections < 3) return;
- if (caml_stat_heap_wsz <= 2 * caml_round_heap_chunk_wsz (0)) return;
+ if (caml_stat_heap_wsz <= 2 * caml_clip_heap_chunk_wsz (0)) return;
+
+#ifdef HAS_HUGE_PAGES
+ if (caml_use_huge_pages
+ && Bsize_wsize (caml_stat_heap_wsz) <= HUGE_PAGE_SIZE)
+ return;
+#endif
fw = 3.0 * caml_fl_cur_wsz - 2.0 * caml_fl_wsz_at_phase_change;
if (fw < 0) fw = caml_fl_cur_wsz;
@@ -492,9 +513,9 @@ void caml_compact_heap_maybe (void)
(uintnat) fp);
if (fp >= caml_percent_max){
caml_gc_message (0x200, "Automatic compaction triggered.\n", 0);
+ caml_empty_minor_heap (); /* minor heap must be empty for compaction */
caml_finish_major_cycle ();
- /* We just did a complete GC, so we can measure the overhead exactly. */
fw = caml_fl_cur_wsz;
fp = 100.0 * fw / (caml_stat_heap_wsz - fw);
caml_gc_message (0x200, "Measured overhead: %"
diff --git a/byterun/extern.c b/byterun/extern.c
index 8bdaf30909..03c0c2956b 100644
--- a/byterun/extern.c
+++ b/byterun/extern.c
@@ -17,6 +17,7 @@
#include <string.h>
#include "caml/alloc.h"
+#include "caml/config.h"
#include "caml/custom.h"
#include "caml/fail.h"
#include "caml/gc.h"
@@ -28,10 +29,6 @@
#include "caml/mlvalues.h"
#include "caml/reverse.h"
-#ifdef _MSC_VER
-#define inline _inline
-#endif
-
static uintnat obj_counter; /* Number of objects emitted so far */
static uintnat size_32; /* Size in words of 32-bit block for struct. */
static uintnat size_64; /* Size in words of 64-bit block for struct. */
diff --git a/byterun/finalise.c b/byterun/finalise.c
index 79b01bd42f..4c8c2e17fa 100644
--- a/byterun/finalise.c
+++ b/byterun/finalise.c
@@ -59,16 +59,15 @@ static void alloc_to_do (int size)
}
}
-/* Find white finalisable values, put them in the finalising set, and
+/* Find white finalisable values, move them to the finalising set, and
darken them.
- The recent set is empty.
*/
void caml_final_update (void)
{
uintnat i, j, k;
uintnat todo_count = 0;
- Assert (young == old);
+ Assert (old <= young);
for (i = 0; i < old; i++){
Assert (Is_block (final_table[i].val));
Assert (Is_in_heap (final_table[i].val));
@@ -79,35 +78,25 @@ void caml_final_update (void)
alloc_to_do (todo_count);
j = k = 0;
for (i = 0; i < old; i++){
- again:
Assert (Is_block (final_table[i].val));
Assert (Is_in_heap (final_table[i].val));
+ Assert (Tag_val (final_table[i].val) != Forward_tag);
if (Is_white_val (final_table[i].val)){
- if (Tag_val (final_table[i].val) == Forward_tag){
- value fv;
- Assert (final_table[i].offset == 0);
- fv = Forward_val (final_table[i].val);
- if (Is_block (fv)
- && (!Is_in_value_area(fv) || Tag_val (fv) == Forward_tag
- || Tag_val (fv) == Lazy_tag || Tag_val (fv) == Double_tag)){
- /* Do not short-circuit the pointer. */
- }else{
- final_table[i].val = fv;
- if (Is_block (final_table[i].val)
- && Is_in_heap (final_table[i].val)){
- goto again;
- }
- }
- }
to_do_tl->item[k++] = final_table[i];
}else{
final_table[j++] = final_table[i];
}
}
- young = old = j;
+ CAMLassert (i == old);
+ old = j;
+ for(;i < young; i++){
+ final_table[j++] = final_table[i];
+ }
+ young = j;
to_do_tl->size = k;
for (i = 0; i < k; i++){
- CAMLassert (Is_white_val (to_do_tl->item[i].val));
+ /* Note that item may already be dark due to multiple entries in
+ the final table. */
caml_darken (to_do_tl->item[i].val, NULL);
}
}
@@ -124,7 +113,7 @@ void caml_final_do_calls (void)
value res;
if (running_finalisation_function) return;
-
+ if (caml_finalise_begin_hook != NULL) (*caml_finalise_begin_hook) ();
if (to_do_hd != NULL){
if (caml_finalise_begin_hook != NULL) (*caml_finalise_begin_hook) ();
caml_gc_message (0x80, "Calling finalisation functions.\n", 0);
@@ -147,6 +136,7 @@ void caml_final_do_calls (void)
caml_gc_message (0x80, "Done calling finalisation functions.\n", 0);
if (caml_finalise_end_hook != NULL) (*caml_finalise_end_hook) ();
}
+ if (caml_finalise_end_hook != NULL) (*caml_finalise_end_hook) ();
}
/* Call a scanning_action [f] on [x]. */
@@ -154,17 +144,15 @@ void caml_final_do_calls (void)
/* Call [*f] on the closures of the finalisable set and
the closures and values of the finalising set.
- The recent set is empty.
- This is called by the major GC and the compactor
- through [caml_darken_all_roots].
+ This is called by the major GC through [caml_darken_all_roots].
*/
void caml_final_do_strong_roots (scanning_action f)
{
uintnat i;
struct to_do *todo;
- Assert (old == young);
- for (i = 0; i < old; i++) Call_action (f, final_table[i].fun);
+ Assert (old <= young);
+ for (i = 0; i < young; i++) Call_action (f, final_table[i].fun);
for (todo = to_do_hd; todo != NULL; todo = todo->next){
for (i = 0; i < todo->size; i++){
@@ -175,15 +163,14 @@ void caml_final_do_strong_roots (scanning_action f)
}
/* Call [*f] on the values of the finalisable set.
- The recent set is empty.
This is called directly by the compactor.
*/
void caml_final_do_weak_roots (scanning_action f)
{
uintnat i;
- Assert (old == young);
- for (i = 0; i < old; i++) Call_action (f, final_table[i].val);
+ CAMLassert (old <= young);
+ for (i = 0; i < young; i++) Call_action (f, final_table[i].val);
}
/* Call [*f] on the closures and values of the recent set.
@@ -213,9 +200,10 @@ void caml_final_empty_young (void)
CAMLprim value caml_final_register (value f, value v)
{
if (!Is_block (v)
- || !Is_in_heap_or_young(v)
- || Tag_val (v) == Lazy_tag
- || Tag_val (v) == Double_tag) {
+ || !Is_in_heap_or_young(v)
+ || Tag_val (v) == Lazy_tag
+ || Tag_val (v) == Double_tag
+ || Tag_val (v) == Forward_tag) {
caml_invalid_argument ("Gc.finalise");
}
Assert (old <= young);
diff --git a/byterun/freelist.c b/byterun/freelist.c
index 176b6f846e..501ebea138 100644
--- a/byterun/freelist.c
+++ b/byterun/freelist.c
@@ -148,6 +148,35 @@ static header_t *allocate_block (mlsize_t wh_sz, int flpi, value prev,
return (header_t *) &Field (cur, Wosize_hd (h) - wh_sz);
}
+#ifdef CAML_INSTR
+static uintnat instr_size [20] =
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
+static char *instr_name [20] = {
+ NULL,
+ "alloc01@",
+ "alloc02@",
+ "alloc03@",
+ "alloc04@",
+ "alloc05@",
+ "alloc06@",
+ "alloc07@",
+ "alloc08@",
+ "alloc09@",
+ "alloc10-19@",
+ "alloc20-29@",
+ "alloc30-39@",
+ "alloc40-49@",
+ "alloc50-59@",
+ "alloc60-69@",
+ "alloc70-79@",
+ "alloc80-89@",
+ "alloc90-99@",
+ "alloc_large@",
+};
+uintnat caml_instr_alloc_jump = 0;
+/* number of pointers followed to allocate from the free list */
+#endif /*CAML_INSTR*/
+
/* [caml_fl_allocate] does not set the header of the newly allocated block.
The calling function must do it before any GC function gets called.
[caml_fl_allocate] returns a head pointer.
@@ -160,6 +189,16 @@ header_t *caml_fl_allocate (mlsize_t wo_sz)
mlsize_t sz, prevsz;
Assert (sizeof (char *) == sizeof (value));
Assert (wo_sz >= 1);
+#ifdef CAML_INSTR
+ if (wo_sz < 10){
+ ++instr_size[wo_sz];
+ }else if (wo_sz < 100){
+ ++instr_size[wo_sz/10 + 9];
+ }else{
+ ++instr_size[19];
+ }
+#endif /* CAML_INSTR */
+
switch (policy){
case Policy_next_fit:
Assert (fl_prev != Val_NULL);
@@ -172,6 +211,9 @@ header_t *caml_fl_allocate (mlsize_t wo_sz)
}
prev = cur;
cur = Next (prev);
+#ifdef CAML_INSTR
+ ++ caml_instr_alloc_jump;
+#endif
}
fl_last = prev;
/* Search from the start of the list to [fl_prev]. */
@@ -183,6 +225,9 @@ header_t *caml_fl_allocate (mlsize_t wo_sz)
}
prev = cur;
cur = Next (prev);
+#ifdef CAML_INSTR
+ ++ caml_instr_alloc_jump;
+#endif
}
/* No suitable block was found. */
return NULL;
@@ -347,6 +392,13 @@ static header_t *last_fragment;
void caml_fl_init_merge (void)
{
+#ifdef CAML_INSTR
+ int i;
+ for (i = 1; i < 20; i++){
+ CAML_INSTR_INT (instr_name[i], instr_size[i]);
+ instr_size[i] = 0;
+ }
+#endif /* CAML_INSTR */
last_fragment = NULL;
caml_fl_merge = Fl_head;
#ifdef DEBUG
diff --git a/byterun/gc_ctrl.c b/byterun/gc_ctrl.c
index 868f883cfa..cd61d6111b 100644
--- a/byterun/gc_ctrl.c
+++ b/byterun/gc_ctrl.c
@@ -12,21 +12,26 @@
/***********************************************************************/
#include "caml/alloc.h"
+#include "caml/backtrace.h"
#include "caml/compact.h"
#include "caml/custom.h"
+#include "caml/fail.h"
#include "caml/finalise.h"
#include "caml/freelist.h"
#include "caml/gc.h"
#include "caml/gc_ctrl.h"
#include "caml/major_gc.h"
+#include "caml/memory.h"
#include "caml/minor_gc.h"
#include "caml/misc.h"
#include "caml/mlvalues.h"
+#include "caml/signals.h"
#ifdef NATIVE_CODE
#include "stack.h"
#else
#include "caml/stacks.h"
#endif
+#include "caml/startup_aux.h"
#ifndef NATIVE_CODE
extern uintnat caml_max_stack_size; /* defined in stacks.c */
@@ -214,7 +219,7 @@ static value heap_stats (int returnstats)
/* get a copy of these before allocating anything... */
double minwords = caml_stat_minor_words
- + (double) (caml_young_end - caml_young_ptr);
+ + (double) (caml_young_alloc_end - caml_young_ptr);
double prowords = caml_stat_promoted_words;
double majwords = caml_stat_major_words + (double) caml_allocated_words;
intnat mincoll = caml_stat_minor_collections;
@@ -255,8 +260,12 @@ void caml_heap_check (void)
CAMLprim value caml_gc_stat(value v)
{
+ value result;
+ CAML_INSTR_SETUP (tmr, "");
Assert (v == Val_unit);
- return heap_stats (1);
+ result = heap_stats (1);
+ CAML_INSTR_TIME (tmr, "explicit/gc_stat");
+ return result;
}
CAMLprim value caml_gc_quick_stat(value v)
@@ -266,7 +275,7 @@ CAMLprim value caml_gc_quick_stat(value v)
/* get a copy of these before allocating anything... */
double minwords = caml_stat_minor_words
- + (double) (caml_young_end - caml_young_ptr);
+ + (double) (caml_young_alloc_end - caml_young_ptr);
double prowords = caml_stat_promoted_words;
double majwords = caml_stat_major_words + (double) caml_allocated_words;
intnat mincoll = caml_stat_minor_collections;
@@ -303,7 +312,7 @@ CAMLprim value caml_gc_counters(value v)
/* get a copy of these before allocating anything... */
double minwords = caml_stat_minor_words
- + (double) (caml_young_end - caml_young_ptr);
+ + (double) (caml_young_alloc_end - caml_young_ptr);
double prowords = caml_stat_promoted_words;
double majwords = caml_stat_major_words + (double) caml_allocated_words;
@@ -314,12 +323,17 @@ CAMLprim value caml_gc_counters(value v)
CAMLreturn (res);
}
+CAMLprim value caml_gc_huge_fallback_count (value v)
+{
+ return Val_long (caml_huge_fallback_count);
+}
+
CAMLprim value caml_gc_get(value v)
{
CAMLparam0 (); /* v is ignored */
CAMLlocal1 (res);
- res = caml_alloc_tuple (7);
+ res = caml_alloc_tuple (8);
Store_field (res, 0, Val_long (caml_minor_heap_wsz)); /* s */
Store_field (res, 1, Val_long (caml_major_heap_increment)); /* i */
Store_field (res, 2, Val_long (caml_percent_free)); /* o */
@@ -331,6 +345,7 @@ CAMLprim value caml_gc_get(value v)
Store_field (res, 5, Val_long (0));
#endif
Store_field (res, 6, Val_long (caml_allocation_policy)); /* a */
+ Store_field (res, 7, Val_long (caml_major_window)); /* w */
CAMLreturn (res);
}
@@ -353,12 +368,20 @@ static intnat norm_minsize (intnat s)
return s;
}
+static uintnat norm_window (intnat w)
+{
+ if (w < 1) w = 1;
+ if (w > Max_major_window) w = Max_major_window;
+ return w;
+}
+
CAMLprim value caml_gc_set(value v)
{
uintnat newpf, newpm;
asize_t newheapincr;
asize_t newminwsz;
uintnat oldpolicy;
+ CAML_INSTR_SETUP (tmr, "");
caml_verb_gc = Long_val (Field (v, 3));
@@ -396,6 +419,16 @@ CAMLprim value caml_gc_set(value v)
caml_allocation_policy);
}
+ /* This field was added in 4.03.0. */
+ if (Wosize_val (v) >= 8){
+ int old_window = caml_major_window;
+ caml_set_major_window (norm_window (Long_val (Field (v, 7))));
+ if (old_window != caml_major_window){
+ caml_gc_message (0x20, "New smoothing window size: %d\n",
+ caml_major_window);
+ }
+ }
+
/* Minor heap size comes last because it will trigger a minor collection
(thus invalidating [v]) and it can raise [Out_of_memory]. */
newminwsz = norm_minsize (Long_val (Field (v, 0)));
@@ -404,12 +437,17 @@ CAMLprim value caml_gc_set(value v)
newminwsz / 1024);
caml_set_minor_heap_size (Bsize_wsize (newminwsz));
}
+ CAML_INSTR_TIME (tmr, "explicit/gc_set");
return Val_unit;
}
CAMLprim value caml_gc_minor(value v)
-{ Assert (v == Val_unit);
- caml_minor_collection ();
+{
+ CAML_INSTR_SETUP (tmr, "");
+ Assert (v == Val_unit);
+ caml_request_minor_gc ();
+ caml_gc_dispatch ();
+ CAML_INSTR_TIME (tmr, "explicit/gc_minor");
return Val_unit;
}
@@ -429,17 +467,22 @@ static void test_and_compact (void)
}
CAMLprim value caml_gc_major(value v)
-{ Assert (v == Val_unit);
+{
+ CAML_INSTR_SETUP (tmr, "");
+ Assert (v == Val_unit);
caml_gc_message (0x1, "Major GC cycle requested\n", 0);
caml_empty_minor_heap ();
caml_finish_major_cycle ();
test_and_compact ();
caml_final_do_calls ();
+ CAML_INSTR_TIME (tmr, "explicit/gc_major");
return Val_unit;
}
CAMLprim value caml_gc_full_major(value v)
-{ Assert (v == Val_unit);
+{
+ CAML_INSTR_SETUP (tmr, "");
+ Assert (v == Val_unit);
caml_gc_message (0x1, "Full major GC cycle requested\n", 0);
caml_empty_minor_heap ();
caml_finish_major_cycle ();
@@ -448,18 +491,24 @@ CAMLprim value caml_gc_full_major(value v)
caml_finish_major_cycle ();
test_and_compact ();
caml_final_do_calls ();
+ CAML_INSTR_TIME (tmr, "explicit/gc_full_major");
return Val_unit;
}
CAMLprim value caml_gc_major_slice (value v)
{
+ CAML_INSTR_SETUP (tmr, "");
Assert (Is_long (v));
caml_empty_minor_heap ();
- return Val_long (caml_major_collection_slice (Long_val (v)));
+ caml_major_collection_slice (Long_val (v));
+ CAML_INSTR_TIME (tmr, "explicit/gc_major_slice");
+ return Val_long (0);
}
CAMLprim value caml_gc_compaction(value v)
-{ Assert (v == Val_unit);
+{
+ CAML_INSTR_SETUP (tmr, "");
+ Assert (v == Val_unit);
caml_gc_message (0x10, "Heap compaction requested\n", 0);
caml_empty_minor_heap ();
caml_finish_major_cycle ();
@@ -468,9 +517,35 @@ CAMLprim value caml_gc_compaction(value v)
caml_finish_major_cycle ();
caml_compact_heap ();
caml_final_do_calls ();
+ CAML_INSTR_TIME (tmr, "explicit/gc_compact");
return Val_unit;
}
+CAMLprim value caml_get_minor_free (value v)
+{
+ return Val_int (caml_young_ptr - caml_young_alloc_start);
+}
+
+CAMLprim value caml_get_major_bucket (value v)
+{
+ long i = Long_val (v);
+ if (i < 0) caml_invalid_argument ("Gc.get_bucket");
+ if (i < caml_major_window){
+ i += caml_major_ring_index;
+ if (i >= caml_major_window) i -= caml_major_window;
+ CAMLassert (0 <= i && i < caml_major_window);
+ return Val_long ((long) (caml_major_ring[i] * 1e6));
+ }else{
+ return Val_long (0);
+ }
+}
+
+CAMLprim value caml_get_major_credit (value v)
+{
+ CAMLassert (v == Val_unit);
+ return Val_long ((long) (caml_major_work_credit * 1e6));
+}
+
uintnat caml_normalize_heap_increment (uintnat i)
{
if (i < Bsize_wsize (Heap_chunk_min)){
@@ -483,11 +558,15 @@ uintnat caml_normalize_heap_increment (uintnat i)
[major_incr] is either a percentage or a number of words */
void caml_init_gc (uintnat minor_size, uintnat major_size,
uintnat major_incr, uintnat percent_fr,
- uintnat percent_m)
+ uintnat percent_m, uintnat window)
{
uintnat major_heap_size =
Bsize_wsize (caml_normalize_heap_increment (major_size));
+ CAML_INSTR_INIT ();
+ if (caml_init_alloc_for_heap () != 0){
+ caml_fatal_error ("cannot initialize heap: mmap failed\n");
+ }
if (caml_page_table_initialize(Bsize_wsize(minor_size) + major_heap_size)){
caml_fatal_error ("OCaml runtime error: cannot initialize page table\n");
}
@@ -496,6 +575,7 @@ void caml_init_gc (uintnat minor_size, uintnat major_size,
caml_percent_free = norm_pfree (percent_fr);
caml_percent_max = norm_pmax (percent_m);
caml_init_major_heap (major_heap_size);
+ caml_major_window = norm_window (window);
caml_gc_message (0x20, "Initial minor heap size: %luk words\n",
caml_minor_heap_wsz / 1024);
caml_gc_message (0x20, "Initial major heap size: %luk bytes\n",
@@ -511,6 +591,54 @@ void caml_init_gc (uintnat minor_size, uintnat major_size,
}
caml_gc_message (0x20, "Initial allocation policy: %d\n",
caml_allocation_policy);
+ caml_gc_message (0x20, "Initial smoothing window: %d\n",
+ caml_major_window);
+}
+
+
+/* FIXME After the startup_aux.c unification, move these functions there. */
+
+CAMLprim value caml_runtime_variant (value unit)
+{
+ CAMLassert (unit == Val_unit);
+#if defined (DEBUG)
+ return caml_copy_string ("d");
+#elif defined (CAML_INSTR)
+ return caml_copy_string ("i");
+#elif defined (MMAP_INTERVAL)
+ return caml_copy_string ("m");
+#else
+ return caml_copy_string ("");
+#endif
+}
+
+extern int caml_parser_trace;
+
+CAMLprim value caml_runtime_parameters (value unit)
+{
+ CAMLassert (unit == Val_unit);
+ return caml_alloc_sprintf
+ ("a=%d,b=%s,H=%lu,i=%lu,l=%lu,o=%lu,O=%lu,p=%d,s=%lu,t=%d,v=%lu,w=%d,W=%lu",
+ /* a */ caml_allocation_policy,
+ /* b */ caml_backtrace_active,
+ /* h */ /* missing */ /* FIXME add when changed to min_heap_size */
+ /* H */ caml_use_huge_pages,
+ /* i */ caml_major_heap_increment,
+#ifdef NATIVE_CODE
+ /* l */ 0,
+#else
+ /* l */ caml_max_stack_size,
+#endif
+ /* o */ caml_percent_free,
+ /* O */ caml_percent_max,
+ /* p */ caml_parser_trace,
+ /* R */ /* missing */
+ /* s */ caml_minor_heap_wsz,
+ /* t */ caml_trace_level,
+ /* v */ caml_verb_gc,
+ /* w */ caml_major_window,
+ /* W */ caml_runtime_warnings
+ );
}
/* Control runtime warnings */
diff --git a/byterun/instrtrace.c b/byterun/instrtrace.c
index cce707deac..fdd6e9f979 100644
--- a/byterun/instrtrace.c
+++ b/byterun/instrtrace.c
@@ -19,6 +19,7 @@
#include <string.h>
#include <ctype.h>
+#include "caml/instrtrace.h"
#include "caml/instruct.h"
#include "caml/misc.h"
#include "caml/mlvalues.h"
diff --git a/byterun/intern.c b/byterun/intern.c
index 23eaebce5d..58ddcd6e06 100644
--- a/byterun/intern.c
+++ b/byterun/intern.c
@@ -19,6 +19,7 @@
#include <stdio.h>
#include "caml/alloc.h"
#include "caml/callback.h"
+#include "caml/config.h"
#include "caml/custom.h"
#include "caml/fail.h"
#include "caml/gc.h"
@@ -30,10 +31,6 @@
#include "caml/misc.h"
#include "caml/reverse.h"
-#ifdef _MSC_VER
-#define inline _inline
-#endif
-
static unsigned char * intern_src;
/* Reading pointer in block holding input data. */
@@ -618,8 +615,7 @@ static void intern_add_to_heap(mlsize_t whsize)
/* Add new heap chunk to heap if needed */
if (intern_extra_block != NULL) {
/* If heap chunk not filled totally, build free block at end */
- asize_t request =
- ((Bsize_wsize(whsize) + Page_size - 1) >> Page_log) << Page_log;
+ asize_t request = Chunk_size (intern_extra_block);
header_t * end_extra_block =
(header_t *) intern_extra_block + Wsize_bsize(request);
Assert(intern_block == 0);
diff --git a/byterun/main.c b/byterun/main.c
index 1ad20280e3..30a9ccdb5d 100644
--- a/byterun/main.c
+++ b/byterun/main.c
@@ -26,27 +26,6 @@ CAMLextern void caml_expand_command_line (int *, char ***);
int main(int argc, char **argv)
{
-#ifdef DEBUG
- caml_gc_message (-1, "### OCaml runtime: debug mode ###\n", 0);
-#if 0
- {
- int i;
- char *ocp;
- char *cp;
-
- caml_gc_message (-1, "### command line:", 0);
- for (i = 0; i < argc; i++){
- caml_gc_message (-1, " %s", argv[i]);
- }
- caml_gc_message (-1, "\n", 0);
- ocp = getenv ("OCAMLRUNPARAM");
- caml_gc_message (-1, "### OCAMLRUNPARAM=%s\n", ocp == NULL ? "" : ocp);
- cp = getenv ("CAMLRUNPARAM");
- caml_gc_message (-1, "### CAMLRUNPARAM=%s\n", cp == NULL ? "" : cp);
- caml_gc_message (-1, "### working dir: %s\n", getcwd (NULL, 0));
- }
-#endif
-#endif
#ifdef _WIN32
/* Expand wildcards and diversions in command line */
caml_expand_command_line(&argc, &argv);
diff --git a/byterun/major_gc.c b/byterun/major_gc.c
index 356fa179a1..23dd9b2c10 100644
--- a/byterun/major_gc.c
+++ b/byterun/major_gc.c
@@ -12,6 +12,7 @@
/***********************************************************************/
#include <limits.h>
+#include <math.h>
#include "caml/compact.h"
#include "caml/custom.h"
@@ -33,6 +34,12 @@
#undef NATIVE_CODE_AND_NO_NAKED_POINTERS
#endif
+#ifdef _MSC_VER
+static inline double fmin(double a, double b) {
+ return (a < b) ? a : b;
+}
+#endif
+
uintnat caml_percent_free;
uintnat caml_major_heap_increment;
CAMLexport char *caml_heap_start;
@@ -55,6 +62,12 @@ static char *markhp, *chunk, *limit;
int caml_gc_subphase; /* Subphase_{main,weak1,weak2,final} */
static value *weak_prev;
+int caml_major_window = 1;
+double caml_major_ring[Max_major_window] = { 0. };
+int caml_major_ring_index = 0;
+double caml_major_work_credit = 0.0;
+double caml_gc_clock = 0.0;
+
#ifdef DEBUG
static unsigned long major_gc_counter = 0;
#endif
@@ -91,7 +104,7 @@ static void realloc_gray_vals (void)
void caml_darken (value v, value *p /* not used */)
{
#ifdef NATIVE_CODE_AND_NO_NAKED_POINTERS
- if (Is_block (v) && Wosize_val (v) > 0) {
+ if (Is_block (v) && !Is_young (v) && Wosize_val (v) > 0) {
#else
if (Is_block (v) && Is_in_heap (v)) {
#endif
@@ -129,9 +142,9 @@ static void start_cycle (void)
Assert (caml_gc_phase == Phase_idle);
Assert (gray_vals_cur == gray_vals);
caml_gc_message (0x01, "Starting new major GC cycle\n", 0);
- caml_darken_all_roots();
+ caml_darken_all_roots_start ();
caml_gc_phase = Phase_mark;
- caml_gc_subphase = Subphase_main;
+ caml_gc_subphase = Subphase_roots;
markhp = NULL;
#ifdef DEBUG
++ major_gc_counter;
@@ -139,35 +152,65 @@ static void start_cycle (void)
#endif
}
+/* We may stop the slice inside values, in order to avoid large latencies
+ on large arrays. In this case, [current_value] is the partially-marked
+ value and [current_index] is the index of the next field to be marked.
+*/
+static value current_value = 0;
+static mlsize_t current_index = 0;
+
+#ifdef CAML_INSTR
+#define INSTR(x) x
+#else
+#define INSTR(x) /**/
+#endif
+
static void mark_slice (intnat work)
{
- value *gray_vals_ptr; /* Local copy of gray_vals_cur */
+ value *gray_vals_ptr; /* Local copy of [gray_vals_cur] */
value v, child;
- header_t hd;
- mlsize_t size, i;
+ header_t hd, chd;
+ mlsize_t size, i, start, end; /* [start] is a local copy of [current_index] */
#ifdef NATIVE_CODE_AND_NO_NAKED_POINTERS
int marking_closure = 0;
#endif
+#ifdef CAML_INSTR
+ int slice_fields = 0;
+ int slice_pointers = 0;
+#endif
caml_gc_message (0x40, "Marking %ld words\n", work);
caml_gc_message (0x40, "Subphase = %ld\n", caml_gc_subphase);
gray_vals_ptr = gray_vals_cur;
+ v = current_value;
+ start = current_index;
while (work > 0){
- if (gray_vals_ptr > gray_vals){
+ if (v == 0 && gray_vals_ptr > gray_vals){
+ CAMLassert (start == 0);
v = *--gray_vals_ptr;
+ CAMLassert (Is_gray_val (v));
+ }
+ if (v != 0){
hd = Hd_val(v);
#ifdef NATIVE_CODE_AND_NO_NAKED_POINTERS
marking_closure =
(Tag_hd (hd) == Closure_tag || Tag_hd (hd) == Infix_tag);
#endif
Assert (Is_gray_hd (hd));
- Hd_val (v) = Blackhd_hd (hd);
size = Wosize_hd (hd);
+ end = start + work;
if (Tag_hd (hd) < No_scan_tag){
- for (i = 0; i < size; i++){
+ start = size < start ? size : start;
+ end = size < end ? size : end;
+ CAMLassert (end > start);
+ INSTR (slice_fields += end - start;)
+ INSTR (if (size > end)
+ CAML_INSTR_INT ("major/mark/slice/remain", size - end);)
+ for (i = start; i < end; i++){
child = Field (v, i);
#ifdef NATIVE_CODE_AND_NO_NAKED_POINTERS
if (Is_block (child)
+ && ! Is_young (child)
&& Wosize_val (child) > 0 /* Atoms never need to be marked. */
/* Closure blocks contain code pointers at offsets that cannot
be reliably determined, so we always use the page table when
@@ -176,8 +219,9 @@ static void mark_slice (intnat work)
#else
if (Is_block (child) && Is_in_heap (child)) {
#endif
- hd = Hd_val (child);
- if (Tag_hd (hd) == Forward_tag){
+ INSTR (++ slice_pointers;)
+ chd = Hd_val (child);
+ if (Tag_hd (chd) == Forward_tag){
value f = Forward_val (child);
if (Is_block (f)
&& (!Is_in_value_area(f) || Tag_val (f) == Forward_tag
@@ -185,18 +229,19 @@ static void mark_slice (intnat work)
/* Do not short-circuit the pointer. */
}else{
Field (v, i) = f;
+ if (Is_block (f) && Is_young (f) && !Is_young (child))
+ add_to_ref_table (&caml_ref_table, &Field (v, i));
}
- }
- else if (Tag_hd(hd) == Infix_tag) {
+ }else if (Tag_hd(chd) == Infix_tag) {
child -= Infix_offset_val(child);
- hd = Hd_val(child);
+ chd = Hd_val(child);
}
#ifdef NATIVE_CODE_AND_NO_NAKED_POINTERS
/* See [caml_darken] for a description of this assertion. */
- CAMLassert (Is_in_heap (child) || Is_black_hd (hd));
+ CAMLassert (Is_in_heap (child) || Is_black_hd (chd));
#endif
- if (Is_white_hd (hd)){
- Hd_val (child) = Grayhd_hd (hd);
+ if (Is_white_hd (chd)){
+ Hd_val (child) = Grayhd_hd (chd);
*gray_vals_ptr++ = child;
if (gray_vals_ptr >= gray_vals_end) {
gray_vals_cur = gray_vals_ptr;
@@ -206,8 +251,25 @@ static void mark_slice (intnat work)
}
}
}
+ if (end < size){
+ work = 0;
+ start = end;
+ /* [v] doesn't change. */
+ CAMLassert (Is_gray_val (v));
+ }else{
+ CAMLassert (end == size);
+ Hd_val (v) = Blackhd_hd (hd);
+ work -= Whsize_wosize(end - start);
+ start = 0;
+ v = 0;
+ }
+ }else{
+ /* The block doesn't contain any pointers. */
+ CAMLassert (start == 0);
+ Hd_val (v) = Blackhd_hd (hd);
+ work -= Whsize_wosize(size);
+ v = 0;
}
- work -= Whsize_wosize(size);
}else if (markhp != NULL){
if (markhp == limit){
chunk = Chunk_next (chunk);
@@ -220,7 +282,8 @@ static void mark_slice (intnat work)
}else{
if (Is_gray_val (Val_hp (markhp))){
Assert (gray_vals_ptr == gray_vals);
- *gray_vals_ptr++ = Val_hp (markhp);
+ CAMLassert (v == 0 && start == 0);
+ v = Val_hp (markhp);
}
markhp += Bhsize_hp (markhp);
}
@@ -231,6 +294,15 @@ static void mark_slice (intnat work)
limit = chunk + Chunk_size (chunk);
}else{
switch (caml_gc_subphase){
+ case Subphase_roots: {
+ gray_vals_cur = gray_vals_ptr;
+ work = caml_darken_all_roots_slice (work);
+ gray_vals_ptr = gray_vals_cur;
+ if (work > 0){
+ caml_gc_subphase = Subphase_main;
+ }
+ }
+ break;
case Subphase_main: {
/* The main marking phase is over. Start removing weak pointers to
dead values. */
@@ -251,7 +323,7 @@ static void mark_slice (intnat work)
curfield = Field (cur, i);
weak_again:
if (curfield != caml_weak_none
- && Is_block (curfield) && Is_in_heap (curfield)){
+ && Is_block (curfield) && Is_in_heap_or_young (curfield)){
if (Tag_val (curfield) == Forward_tag){
value f = Forward_val (curfield);
if (Is_block (f)) {
@@ -260,11 +332,13 @@ static void mark_slice (intnat work)
/* Do not short-circuit the pointer. */
}else{
Field (cur, i) = curfield = f;
+ if (Is_block (f) && Is_young (f))
+ add_to_ref_table (&caml_weak_ref_table, &Field (cur, i));
goto weak_again;
}
}
}
- if (Is_white_val (curfield)){
+ if (Is_white_val (curfield) && !Is_young (curfield)){
Field (cur, i) = caml_weak_none;
}
}
@@ -277,6 +351,10 @@ static void mark_slice (intnat work)
gray_vals_cur = gray_vals_ptr;
caml_final_update ();
gray_vals_ptr = gray_vals_cur;
+ if (gray_vals_ptr > gray_vals){
+ v = *--gray_vals_ptr;
+ CAMLassert (start == 0);
+ }
caml_gc_subphase = Subphase_weak2;
weak_prev = &caml_weak_list_head;
}
@@ -304,7 +382,6 @@ static void mark_slice (intnat work)
break;
case Subphase_final: {
/* Initialise the sweep phase. */
- gray_vals_cur = gray_vals_ptr;
caml_gc_sweep_hp = caml_heap_start;
caml_fl_init_merge ();
caml_gc_phase = Phase_sweep;
@@ -321,6 +398,10 @@ static void mark_slice (intnat work)
}
}
gray_vals_cur = gray_vals_ptr;
+ current_value = v;
+ current_index = start;
+ INSTR (CAML_INSTR_INT ("major/mark/slice/fields#", slice_fields);)
+ INSTR (CAML_INSTR_INT ("major/mark/slice/pointers#", slice_pointers);)
}
static void sweep_slice (intnat work)
@@ -368,14 +449,37 @@ static void sweep_slice (intnat work)
}
}
-/* The main entry point for the GC. Called after each minor GC.
- [howmuch] is the amount of work to do, 0 to let the GC compute it.
- Return the computed amount of work to do.
+#ifdef CAML_INSTR
+static char *mark_slice_name[] = {
+ /* 0 */ NULL,
+ /* 1 */ NULL,
+ /* 2 */ NULL,
+ /* 3 */ NULL,
+ /* 4 */ NULL,
+ /* 5 */ NULL,
+ /* 6 */ NULL,
+ /* 7 */ NULL,
+ /* 8 */ NULL,
+ /* 9 */ NULL,
+ /* 10 */ "major/mark_roots",
+ /* 11 */ "major/mark_main",
+ /* 12 */ "major/mark_weak1",
+ /* 13 */ "major/mark_weak2",
+ /* 14 */ "major/mark_final",
+};
+#endif
+
+/* The main entry point for the major GC. Called about once for each
+ minor GC. [howmuch] is the amount of work to do:
+ -1 if the GC is triggered automatically
+ 0 to let the GC compute the amount of work
+ [n] to make the GC do enough work to (on average) free [n] words
*/
-intnat caml_major_collection_slice (intnat howmuch)
+void caml_major_collection_slice (intnat howmuch)
{
- double p, dp;
+ double p, dp, filt_p, spend;
intnat computed_work;
+ int i;
/*
Free memory at the start of the GC cycle (garbage + free list) (assumed):
FM = caml_stat_heap_wsz * caml_percent_free
@@ -395,24 +499,37 @@ intnat caml_major_collection_slice (intnat howmuch)
PE = caml_extra_heap_resources
Proportion of total work to do in this slice:
P = max (PH, PE)
+
+ Here, we insert a time-based filter on the P variable to avoid large
+ latency spikes in the GC, so the P below is a smoothed-out version of
+ the P above.
+
Amount of marking work for the GC cycle:
MW = caml_stat_heap_wsz * 100 / (100 + caml_percent_free)
+ + caml_incremental_roots_count
Amount of sweeping work for the GC cycle:
SW = caml_stat_heap_wsz
In order to finish marking with a non-empty free list, we will
use 40% of the time for marking, and 60% for sweeping.
- If TW is the total work for this cycle,
- MW = 40/100 * TW
- SW = 60/100 * TW
+ Let MT be the time spent marking, ST the time spent sweeping, and TT
+ the total time for this cycle. We have:
+ MT = 40/100 * TT
+ ST = 60/100 * TT
- Amount of work to do for this slice:
- W = P * TW
+ Amount of time to spend on this slice:
+ T = P * TT = P * MT / (40/100) = P * ST / (60/100)
+
+ Since we must do MW work in MT time or SW work in ST time, the amount
+ of work for this slice is:
+ MS = P * MW / (40/100) if marking
+ SS = P * SW / (60/100) if sweeping
Amount of marking work for a marking slice:
MS = P * MW / (40/100)
- MS = P * caml_stat_heap_wsz * 250 / (100 + caml_percent_free)
+ MS = P * (caml_stat_heap_wsz * 250 / (100 + caml_percent_free)
+ + 2.5 * caml_incremental_roots_count)
Amount of sweeping work for a sweeping slice:
SS = P * SW / (60/100)
SS = P * caml_stat_heap_wsz * 5 / 3
@@ -421,8 +538,7 @@ intnat caml_major_collection_slice (intnat howmuch)
*/
if (caml_major_slice_begin_hook != NULL) (*caml_major_slice_begin_hook) ();
-
- if (caml_gc_phase == Phase_idle) start_cycle ();
+ CAML_INSTR_SETUP (tmr, "major");
p = (double) caml_allocated_words * 3.0 * (100 + caml_percent_free)
/ caml_stat_heap_wsz / caml_percent_free / 2.0;
@@ -434,51 +550,133 @@ intnat caml_major_collection_slice (intnat howmuch)
}
if (p < dp) p = dp;
if (p < caml_extra_heap_resources) p = caml_extra_heap_resources;
+ if (p > 0.3) p = 0.3;
+ CAML_INSTR_INT ("major/work/extra#",
+ (uintnat) (caml_extra_heap_resources * 1000000));
+ caml_gc_message (0x40, "ordered work = %ld words\n", howmuch);
caml_gc_message (0x40, "allocated_words = %"
ARCH_INTNAT_PRINTF_FORMAT "u\n",
caml_allocated_words);
caml_gc_message (0x40, "extra_heap_resources = %"
ARCH_INTNAT_PRINTF_FORMAT "uu\n",
(uintnat) (caml_extra_heap_resources * 1000000));
- caml_gc_message (0x40, "amount of work to do = %"
- ARCH_INTNAT_PRINTF_FORMAT "uu\n",
- (uintnat) (p * 1000000));
+ caml_gc_message (0x40, "raw work-to-do = %"
+ ARCH_INTNAT_PRINTF_FORMAT "du\n",
+ (intnat) (p * 1000000));
+
+ for (i = 0; i < caml_major_window; i++){
+ caml_major_ring[i] += p / caml_major_window;
+ }
+
+ if (caml_gc_clock >= 1.0){
+ caml_gc_clock -= 1.0;
+ ++caml_major_ring_index;
+ if (caml_major_ring_index >= caml_major_window){
+ caml_major_ring_index = 0;
+ }
+ }
+ if (howmuch == -1){
+ /* auto-triggered GC slice: spend work credit on the current bucket,
+ then do the remaining work, if any */
+ /* Note that the minor GC guarantees that the major slice is called in
+ automatic mode (with [howmuch] = -1) at least once per clock tick.
+ This means we never leave a non-empty bucket behind. */
+ spend = fmin (caml_major_work_credit,
+ caml_major_ring[caml_major_ring_index]);
+ caml_major_work_credit -= spend;
+ filt_p = caml_major_ring[caml_major_ring_index] - spend;
+ caml_major_ring[caml_major_ring_index] = 0.0;
+ }else{
+ /* forced GC slice: do work and add it to the credit */
+ if (howmuch == 0){
+ /* automatic setting: size of next bucket
+ we do not use the current bucket, as it may be empty */
+ int i = caml_major_ring_index + 1;
+ if (i >= caml_major_window) i = 0;
+ filt_p = caml_major_ring[i];
+ }else{
+ /* manual setting */
+ filt_p = (double) howmuch * 3.0 * (100 + caml_percent_free)
+ / caml_stat_heap_wsz / caml_percent_free / 2.0;
+ }
+ caml_major_work_credit += filt_p;
+ }
+
+ p = filt_p;
+
+ caml_gc_message (0x40, "filtered work-to-do = %"
+ ARCH_INTNAT_PRINTF_FORMAT "du\n",
+ (intnat) (p * 1000000));
+
+ if (caml_gc_phase == Phase_idle){
+ if (caml_young_ptr == caml_young_alloc_end){
+ /* We can only start a major GC cycle if the minor allocation arena
+ is empty, otherwise we'd have to treat it as a set of roots. */
+ start_cycle ();
+ CAML_INSTR_TIME (tmr, "major/roots");
+ }
+ p = 0;
+ goto finished;
+ }
+
+ if (p < 0){
+ p = 0;
+ goto finished;
+ }
if (caml_gc_phase == Phase_mark){
- computed_work = (intnat) (p * caml_stat_heap_wsz * 250
- / (100 + caml_percent_free));
+ computed_work = (intnat) (p * (caml_stat_heap_wsz * 250
+ / (100 + caml_percent_free)
+ + caml_incremental_roots_count));
}else{
computed_work = (intnat) (p * caml_stat_heap_wsz * 5 / 3);
}
- caml_gc_message (0x40, "ordered work = %ld words\n", howmuch);
caml_gc_message (0x40, "computed work = %ld words\n", computed_work);
- if (howmuch == 0) howmuch = computed_work;
if (caml_gc_phase == Phase_mark){
- mark_slice (howmuch);
+ CAML_INSTR_INT ("major/work/mark#", computed_work);
+ mark_slice (computed_work);
+ CAML_INSTR_TIME (tmr, mark_slice_name[caml_gc_subphase]);
caml_gc_message (0x02, "!", 0);
}else{
Assert (caml_gc_phase == Phase_sweep);
- sweep_slice (howmuch);
+ CAML_INSTR_INT ("major/work/sweep#", computed_work);
+ sweep_slice (computed_work);
+ CAML_INSTR_TIME (tmr, "major/sweep");
caml_gc_message (0x02, "$", 0);
}
- if (caml_gc_phase == Phase_idle) caml_compact_heap_maybe ();
+ if (caml_gc_phase == Phase_idle){
+ caml_compact_heap_maybe ();
+ CAML_INSTR_TIME (tmr, "major/check_and_compact");
+ }
+
+ finished:
+ caml_gc_message (0x40, "work-done = %"
+ ARCH_INTNAT_PRINTF_FORMAT "du\n",
+ (intnat) (p * 1000000));
+
+ /* if some of the work was not done, take it back from the credit
+ or spread it over the buckets. */
+ p = filt_p - p;
+ spend = fmin (p, caml_major_work_credit);
+ caml_major_work_credit -= spend;
+ if (p > spend){
+ p -= spend;
+ p /= caml_major_window;
+ for (i = 0; i < caml_major_window; i++) caml_major_ring[i] += p;
+ }
caml_stat_major_words += caml_allocated_words;
caml_allocated_words = 0;
caml_dependent_allocated = 0;
caml_extra_heap_resources = 0.0;
if (caml_major_slice_end_hook != NULL) (*caml_major_slice_end_hook) ();
- return computed_work;
}
-/* The minor heap must be empty when this function is called;
- the minor heap is empty when this function returns.
-*/
-/* This does not call caml_compact_heap_maybe because the estimations of
+/* This does not call [caml_compact_heap_maybe] because the estimates of
free and live memory are only valid for a cycle done incrementally.
- Besides, this function is called by caml_compact_heap_maybe.
+ Besides, this function itself is called by [caml_compact_heap_maybe].
*/
void caml_finish_major_cycle (void)
{
@@ -491,27 +689,12 @@ void caml_finish_major_cycle (void)
caml_allocated_words = 0;
}
-/* Make sure the request is at least Heap_chunk_min and round it up
- to a multiple of the page size.
- The argument and result are both numbers of words.
-*/
-static asize_t clip_heap_chunk_size (asize_t request)
-{
- if (request < Heap_chunk_min){
- request = Heap_chunk_min;
- }
- return
- Wsize_bsize (((Bsize_wsize (request) + Page_size - 1)
- >> Page_log) << Page_log);
-}
-
-/* Compute the heap increment, make sure the request is at least that big,
- then call clip_heap_chunk_size, then make sure the result is >= request.
- The argument and result are both numbers of words.
+/* Call this function to make sure [bsz] is greater than or equal
+ to both [Heap_chunk_min] and the current heap increment.
*/
-asize_t caml_round_heap_chunk_wsz (asize_t request)
+asize_t caml_clip_heap_chunk_wsz (asize_t wsz)
{
- asize_t result = request;
+ asize_t result = wsz;
uintnat incr;
/* Compute the heap increment as a word size. */
@@ -524,11 +707,8 @@ asize_t caml_round_heap_chunk_wsz (asize_t request)
if (result < incr){
result = incr;
}
- result = clip_heap_chunk_size (result);
-
- if (result < request){
- caml_raise_out_of_memory ();
- return 0; /* not reached */
+ if (result < Heap_chunk_min){
+ result = Heap_chunk_min;
}
return result;
}
@@ -536,21 +716,25 @@ asize_t caml_round_heap_chunk_wsz (asize_t request)
/* [heap_size] is a number of bytes */
void caml_init_major_heap (asize_t heap_size)
{
- caml_stat_heap_wsz = Wsize_bsize (clip_heap_chunk_size (heap_size));
+ int i;
+
+ caml_stat_heap_wsz = caml_clip_heap_chunk_wsz (Wsize_bsize (heap_size));
caml_stat_top_heap_wsz = caml_stat_heap_wsz;
Assert (Bsize_wsize (caml_stat_heap_wsz) % Page_size == 0);
caml_heap_start =
(char *) caml_alloc_for_heap (Bsize_wsize (caml_stat_heap_wsz));
if (caml_heap_start == NULL)
- caml_fatal_error ("Fatal error: not enough memory for the initial heap.\n");
+ caml_fatal_error ("Fatal error: cannot allocate initial major heap.\n");
Chunk_next (caml_heap_start) = NULL;
+ caml_stat_heap_wsz = Wsize_bsize (Chunk_size (caml_heap_start));
caml_stat_heap_chunks = 1;
+ caml_stat_top_heap_wsz = caml_stat_heap_wsz;
if (caml_page_table_add(In_heap, caml_heap_start,
caml_heap_start + Bsize_wsize (caml_stat_heap_wsz))
!= 0) {
- caml_fatal_error ("Fatal error: not enough memory "
- "for the initial page table.\n");
+ caml_fatal_error ("Fatal error: cannot allocate "
+ "initial page table.\n");
}
caml_fl_init_merge ();
@@ -566,4 +750,21 @@ void caml_init_major_heap (asize_t heap_size)
heap_is_pure = 1;
caml_allocated_words = 0;
caml_extra_heap_resources = 0.0;
+ for (i = 0; i < Max_major_window; i++) caml_major_ring[i] = 0.0;
+}
+
+void caml_set_major_window (int w){
+ uintnat total = 0;
+ int i;
+ if (w == caml_major_window) return;
+ CAMLassert (w <= Max_major_window);
+ /* Collect the current work-to-do from the buckets. */
+ for (i = 0; i < caml_major_window; i++){
+ total += caml_major_ring[i];
+ }
+ /* Redistribute to the new buckets. */
+ for (i = 0; i < w; i++){
+ caml_major_ring[i] = total / w;
+ }
+ caml_major_window = w;
}
diff --git a/byterun/memory.c b/byterun/memory.c
index 15039b3cc9..54391b7d36 100644
--- a/byterun/memory.c
+++ b/byterun/memory.c
@@ -14,6 +14,7 @@
#include <stdlib.h>
#include <string.h>
#include "caml/address_class.h"
+#include "caml/config.h"
#include "caml/fail.h"
#include "caml/freelist.h"
#include "caml/gc.h"
@@ -26,9 +27,17 @@
#include "caml/mlvalues.h"
#include "caml/signals.h"
-#ifdef _MSC_VER
-#define inline _inline
-#endif
+int caml_huge_fallback_count = 0;
+/* Number of times that mmapping big pages fails and we fell back to small
+ pages. This counter is available to the program through
+ [Gc.huge_fallback_count].
+*/
+
+uintnat caml_use_huge_pages = 0;
+/* True iff the program allocates heap chunks by mmapping huge pages.
+ This is set when parsing [OCAMLRUNPARAM] and must stay constant
+ after that.
+*/
extern uintnat caml_percent_free; /* major_gc.c */
@@ -221,25 +230,56 @@ int caml_page_table_remove(int kind, void * start, void * end)
return 0;
}
+
+/* Initialize the [alloc_for_heap] system.
+ This function must be called exactly once, and it must be called
+ before the first call to [alloc_for_heap].
+ It returns 0 on success and -1 on failure.
+*/
+int caml_init_alloc_for_heap (void)
+{
+ return 0;
+}
+
/* Allocate a block of the requested size, to be passed to
[caml_add_to_heap] later.
- [request] must be a multiple of [Page_size], it is a number of bytes.
- [caml_alloc_for_heap] returns NULL if the request cannot be satisfied.
- The returned pointer is a hp, but the header must be initialized by
- the caller.
+ [request] will be rounded up to some implementation-dependent size.
+ The caller must use [Chunk_size] on the result to recover the actual
+ size.
+ Return NULL if the request cannot be satisfied. The returned pointer
+ is a hp, but the header (and the contents) must be initialized by the
+ caller.
*/
char *caml_alloc_for_heap (asize_t request)
{
- char *mem;
- void *block;
- Assert (request % Page_size == 0);
- mem = caml_aligned_malloc (request + sizeof (heap_chunk_head),
- sizeof (heap_chunk_head), &block);
- if (mem == NULL) return NULL;
- mem += sizeof (heap_chunk_head);
- Chunk_size (mem) = request;
- Chunk_block (mem) = block;
- return mem;
+ if (caml_use_huge_pages){
+#ifdef HAS_HUGE_PAGES
+ uintnat size = Round_mmap_size (sizeof (heap_chunk_head) + request);
+ void *block;
+ char *mem;
+ block = mmap (NULL, size, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB, -1, 0);
+ if (block == MAP_FAILED) return NULL;
+ mem = (char *) block + sizeof (heap_chunk_head);
+ Chunk_size (mem) = size - sizeof (heap_chunk_head);
+ Chunk_block (mem) = block;
+ return mem;
+#else
+ return NULL;
+#endif
+ }else{
+ char *mem;
+ void *block;
+
+ request = ((request + Page_size - 1) >> Page_log) << Page_log;
+ mem = caml_aligned_malloc (request + sizeof (heap_chunk_head),
+ sizeof (heap_chunk_head), &block);
+ if (mem == NULL) return NULL;
+ mem += sizeof (heap_chunk_head);
+ Chunk_size (mem) = request;
+ Chunk_block (mem) = block;
+ return mem;
+ }
}
/* Use this function to free a block allocated with [caml_alloc_for_heap]
@@ -247,7 +287,15 @@ char *caml_alloc_for_heap (asize_t request)
*/
void caml_free_for_heap (char *mem)
{
- free (Chunk_block (mem));
+ if (caml_use_huge_pages){
+#ifdef HAS_HUGE_PAGES
+ munmap (Chunk_block (mem), Chunk_size (mem) + sizeof (heap_chunk_head));
+#else
+ CAMLassert (0);
+#endif
+ }else{
+ free (Chunk_block (mem));
+ }
}
/* Take a chunk of memory as argument, which must be the result of a
@@ -263,10 +311,9 @@ void caml_free_for_heap (char *mem)
*/
int caml_add_to_heap (char *m)
{
- Assert (Chunk_size (m) % Page_size == 0);
#ifdef DEBUG
/* Should check the contents of the block. */
-#endif /* debug */
+#endif /* DEBUG */
caml_gc_message (0x04, "Growing heap to %luk bytes\n",
(Bsize_wsize (caml_stat_heap_wsz) + Chunk_size (m)) / 1024);
@@ -314,14 +361,14 @@ static value *expand_heap (mlsize_t request)
asize_t over_request, malloc_request, remain;
Assert (request <= Max_wosize);
- over_request = Whsize_wosize (request + request / 100 * caml_percent_free);
- malloc_request = caml_round_heap_chunk_wsz (over_request);
+ over_request = request + request / 100 * caml_percent_free;
+ malloc_request = caml_clip_heap_chunk_wsz (over_request);
mem = (value *) caml_alloc_for_heap (Bsize_wsize (malloc_request));
if (mem == NULL){
caml_gc_message (0x04, "No room for growing heap\n", 0);
return NULL;
}
- remain = malloc_request;
+ remain = Wsize_bsize (Chunk_size (mem));
prev = hp = mem;
/* FIXME find a way to do this with a call to caml_make_free_blocks */
while (Wosize_whsize (remain) > Max_wosize){
@@ -451,7 +498,8 @@ static inline value caml_alloc_shr_aux (mlsize_t wosize, tag_t tag,
Assert (Hd_hp (hp) == Make_header (wosize, tag, caml_allocation_color (hp)));
caml_allocated_words += Whsize_wosize (wosize);
if (caml_allocated_words > caml_minor_heap_wsz){
- caml_urge_major_slice ();
+ CAML_INSTR_INT ("request_major/alloc_shr@", 1);
+ caml_request_major_slice ();
}
#ifdef DEBUG
{
@@ -512,13 +560,15 @@ CAMLexport void caml_adjust_gc_speed (mlsize_t res, mlsize_t max)
if (res > max) res = max;
caml_extra_heap_resources += (double) res / (double) max;
if (caml_extra_heap_resources > 1.0){
+ CAML_INSTR_INT ("request_major/adjust_gc_speed_1@", 1);
caml_extra_heap_resources = 1.0;
- caml_urge_major_slice ();
+ caml_request_major_slice ();
}
if (caml_extra_heap_resources
> (double) caml_minor_heap_wsz / 2.0
/ (double) caml_stat_heap_wsz) {
- caml_urge_major_slice ();
+ CAML_INSTR_INT ("request_major/adjust_gc_speed_2@", 1);
+ caml_request_major_slice ();
}
}
@@ -535,10 +585,7 @@ CAMLexport CAMLweakdef void caml_initialize (value *fp, value val)
CAMLassert(Is_in_heap(fp));
*fp = val;
if (Is_block (val) && Is_young (val)) {
- if (caml_ref_table.ptr >= caml_ref_table.limit){
- caml_realloc_ref_table (&caml_ref_table);
- }
- *caml_ref_table.ptr++ = fp;
+ add_to_ref_table (&caml_ref_table, fp);
}
}
@@ -586,12 +633,7 @@ CAMLexport CAMLweakdef void caml_modify (value *fp, value val)
}
/* Check for condition 1. */
if (Is_block(val) && Is_young(val)) {
- /* Add [fp] to remembered set */
- if (caml_ref_table.ptr >= caml_ref_table.limit){
- CAMLassert (caml_ref_table.ptr == caml_ref_table.limit);
- caml_realloc_ref_table (&caml_ref_table);
- }
- *caml_ref_table.ptr++ = fp;
+ add_to_ref_table (&caml_ref_table, fp);
}
}
}
diff --git a/byterun/minor_gc.c b/byterun/minor_gc.c
index 54bb473320..950ec216c7 100644
--- a/byterun/minor_gc.c
+++ b/byterun/minor_gc.c
@@ -27,10 +27,36 @@
#include "caml/signals.h"
#include "caml/weak.h"
+/* Pointers into the minor heap.
+ [caml_young_base]
+ The [malloc] block that contains the heap.
+ [caml_young_start] ... [caml_young_end]
+ The whole range of the minor heap: all young blocks are inside
+ this interval.
+ [caml_young_alloc_start]...[caml_young_alloc_end]
+ The allocation arena: newly-allocated blocks are carved from
+ this interval.
+ [caml_young_alloc_mid] is the mid-point of this interval.
+ [caml_young_ptr], [caml_young_trigger], [caml_young_limit]
+ These pointers are all inside the allocation arena.
+ - [caml_young_ptr] is where the next allocation will take place.
+ - [caml_young_trigger] is how far we can allocate before triggering
+ [caml_gc_dispatch]. Currently, it is either [caml_young_alloc_start]
+ or the mid-point of the allocation arena.
+ - [caml_young_limit] is the pointer that is compared to
+ [caml_young_ptr] for allocation. It is either
+ [caml_young_alloc_end] if a signal is pending and we are in
+ native code, or [caml_young_trigger].
+*/
+
asize_t caml_minor_heap_wsz;
static void *caml_young_base = NULL;
CAMLexport value *caml_young_start = NULL, *caml_young_end = NULL;
+CAMLexport value *caml_young_alloc_start = NULL,
+ *caml_young_alloc_mid = NULL,
+ *caml_young_alloc_end = NULL;
CAMLexport value *caml_young_ptr = NULL, *caml_young_limit = NULL;
+CAMLexport value *caml_young_trigger = NULL;
CAMLexport struct caml_ref_table
caml_ref_table = { NULL, NULL, NULL, NULL, NULL, 0, 0},
@@ -40,10 +66,6 @@ CAMLexport struct caml_ref_table
int caml_in_minor_collection = 0;
-#ifdef DEBUG
-static unsigned long minor_gc_counter = 0;
-#endif
-
/* [sz] and [rsv] are numbers of entries */
void caml_alloc_table (struct caml_ref_table *tbl, asize_t sz, asize_t rsv)
{
@@ -75,32 +97,73 @@ static void clear_table (struct caml_ref_table *tbl)
tbl->limit = tbl->threshold;
}
-/* [size] is a number of bytes */
-void caml_set_minor_heap_size (asize_t size)
+void caml_set_minor_heap_size (asize_t bsz)
{
char *new_heap;
void *new_heap_base;
- Assert (size >= Bsize_wsize(Minor_heap_min));
- Assert (size <= Bsize_wsize(Minor_heap_max));
- Assert (size % sizeof (value) == 0);
- if (caml_young_ptr != caml_young_end) caml_minor_collection ();
- Assert (caml_young_ptr == caml_young_end);
- new_heap = caml_aligned_malloc(size, 0, &new_heap_base);
+ Assert (bsz >= Bsize_wsize(Minor_heap_min));
+ Assert (bsz <= Bsize_wsize(Minor_heap_max));
+ Assert (bsz % sizeof (value) == 0);
+ if (caml_young_ptr != caml_young_alloc_end){
+ CAML_INSTR_INT ("force_minor/set_minor_heap_size@", 1);
+ caml_requested_minor_gc = 0;
+ caml_young_trigger = caml_young_alloc_mid;
+ caml_young_limit = caml_young_trigger;
+ caml_empty_minor_heap ();
+ }
+ CAMLassert (caml_young_ptr == caml_young_alloc_end);
+#ifdef MMAP_INTERVAL
+ {
+ static uintnat minor_heap_mapped_bsz = 0;
+ uintnat new_mapped_bsz;
+ new_mapped_bsz = Round_mmap_size (bsz);
+ void *block;
+
+ CAMLassert (caml_young_start != NULL);
+ if (new_mapped_bsz > minor_heap_mapped_bsz){
+ uintnat addbsz = new_mapped_bsz - minor_heap_mapped_bsz;
+ new_heap = (char *) caml_young_start - addbsz;
+ block = caml_mmap_heap (new_heap, addbsz, PROT_READ | PROT_WRITE,
+ MAP_FIXED);
+ if (block != new_heap){
+ if (minor_heap_mapped_bsz == 0){
+ caml_fatal_error ("cannot initialize minor heap: mmap failed\n");
+ }else{
+ caml_raise_out_of_memory ();
+ }
+ }
+ new_heap_base = new_heap;
+ }else if (new_mapped_bsz < minor_heap_mapped_bsz){
+ uintnat subbsz = minor_heap_mapped_bsz - new_mapped_bsz;
+ (void) caml_mmap_heap (caml_young_start, subbsz, PROT_NONE,
+ MAP_FIXED | MAP_NORESERVE);
+ new_heap_base = new_heap = (char *) caml_young_start + subbsz;
+ }else{
+ new_heap_base = new_heap = caml_young_base;
+ }
+ }
+#else
+ new_heap = caml_aligned_malloc(bsz, 0, &new_heap_base);
if (new_heap == NULL) caml_raise_out_of_memory();
- if (caml_page_table_add(In_young, new_heap, new_heap + size) != 0)
+ if (caml_page_table_add(In_young, new_heap, new_heap + bsz) != 0)
caml_raise_out_of_memory();
if (caml_young_start != NULL){
caml_page_table_remove(In_young, caml_young_start, caml_young_end);
free (caml_young_base);
}
+#endif
caml_young_base = new_heap_base;
caml_young_start = (value *) new_heap;
- caml_young_end = (value *) (new_heap + size);
- caml_young_limit = caml_young_start;
- caml_young_ptr = caml_young_end;
- caml_minor_heap_wsz = Wsize_bsize (size);
+ caml_young_end = (value *) (new_heap + bsz);
+ caml_young_alloc_start = caml_young_start;
+ caml_young_alloc_mid = caml_young_alloc_start + Wsize_bsize (bsz) / 2;
+ caml_young_alloc_end = caml_young_end;
+ caml_young_trigger = caml_young_alloc_start;
+ caml_young_limit = caml_young_trigger;
+ caml_young_ptr = caml_young_alloc_end;
+ caml_minor_heap_wsz = Wsize_bsize (bsz);
reset_table (&caml_ref_table);
reset_table (&caml_weak_ref_table);
@@ -232,16 +295,20 @@ void caml_empty_minor_heap (void)
value **r;
uintnat prev_alloc_words;
- if (caml_young_ptr != caml_young_end){
+ if (caml_young_ptr != caml_young_alloc_end){
if (caml_minor_gc_begin_hook != NULL) (*caml_minor_gc_begin_hook) ();
+ CAML_INSTR_SETUP (tmr, "minor");
prev_alloc_words = caml_allocated_words;
caml_in_minor_collection = 1;
caml_gc_message (0x02, "<", 0);
caml_oldify_local_roots();
+ CAML_INSTR_TIME (tmr, "minor/local_roots");
for (r = caml_ref_table.base; r < caml_ref_table.ptr; r++){
caml_oldify_one (**r, *r);
}
+ CAML_INSTR_TIME (tmr, "minor/ref_table");
caml_oldify_mopup ();
+ CAML_INSTR_TIME (tmr, "minor/copy");
for (r = caml_weak_ref_table.base; r < caml_weak_ref_table.ptr; r++){
if (Is_block (**r) && Is_young (**r)){
if (Hd_val (**r) == 0){
@@ -258,18 +325,22 @@ void caml_empty_minor_heap (void)
final_fun((value)*r);
}
}
- if (caml_young_ptr < caml_young_start) caml_young_ptr = caml_young_start;
- caml_stat_minor_words += caml_young_end - caml_young_ptr;
- caml_young_ptr = caml_young_end;
- caml_young_limit = caml_young_start;
+ CAML_INSTR_TIME (tmr, "minor/update_weak");
+ CAMLassert (caml_young_ptr >= caml_young_alloc_start);
+ caml_stat_minor_words += caml_young_alloc_end - caml_young_ptr;
+ caml_gc_clock += (double) (caml_young_alloc_end - caml_young_ptr)
+ / caml_minor_heap_wsz;
+ caml_young_ptr = caml_young_alloc_end;
clear_table (&caml_ref_table);
clear_table (&caml_weak_ref_table);
clear_table (&caml_finalize_table);
caml_gc_message (0x02, ">", 0);
caml_in_minor_collection = 0;
+ caml_final_empty_young ();
+ CAML_INSTR_TIME (tmr, "minor/finalized");
caml_stat_promoted_words += caml_allocated_words - prev_alloc_words;
+ CAML_INSTR_INT ("minor/promoted#", caml_allocated_words - prev_alloc_words);
++ caml_stat_minor_collections;
- caml_final_empty_young ();
if (caml_minor_gc_end_hook != NULL) (*caml_minor_gc_end_hook) ();
}else{
caml_final_empty_young ();
@@ -277,34 +348,83 @@ void caml_empty_minor_heap (void)
#ifdef DEBUG
{
value *p;
- for (p = caml_young_start; p < caml_young_end; ++p){
+ for (p = caml_young_alloc_start; p < caml_young_alloc_end; ++p){
*p = Debug_free_minor;
}
- ++ minor_gc_counter;
}
#endif
}
-/* Do a minor collection and a slice of major collection, call finalisation
+#ifdef CAML_INSTR
+extern uintnat caml_instr_alloc_jump;
+#endif
+
+/* Do a minor collection or a slice of major collection, call finalisation
functions, etc.
- Leave the minor heap empty.
+ Leave enough room in the minor heap to allocate at least one object.
*/
-CAMLexport void caml_minor_collection (void)
+CAMLexport void caml_gc_dispatch (void)
{
- caml_empty_minor_heap ();
-
- caml_major_collection_slice (0);
- caml_force_major_slice = 0;
+ value *trigger = caml_young_trigger; /* save old value of trigger */
+#ifdef CAML_INSTR
+ CAML_INSTR_SETUP(tmr, "dispatch");
+ CAML_INSTR_TIME (tmr, "overhead");
+ CAML_INSTR_INT ("alloc/jump#", caml_instr_alloc_jump);
+ caml_instr_alloc_jump = 0;
+#endif
- caml_final_do_calls ();
+ if (trigger == caml_young_alloc_start || caml_requested_minor_gc){
+ /* The minor heap is full, we must do a minor collection. */
+ /* reset the pointers first because the end hooks might allocate */
+ caml_requested_minor_gc = 0;
+ caml_young_trigger = caml_young_alloc_mid;
+ caml_young_limit = caml_young_trigger;
+ caml_empty_minor_heap ();
+ /* The minor heap is empty, we can start a major collection. */
+ if (caml_gc_phase == Phase_idle) caml_major_collection_slice (-1);
+ CAML_INSTR_TIME (tmr, "dispatch/minor");
+
+ caml_final_do_calls ();
+ CAML_INSTR_TIME (tmr, "dispatch/finalizers");
+
+ while (caml_young_ptr - caml_young_alloc_start < Max_young_whsize){
+ /* The finalizers or the hooks have filled up the minor heap, we must
+ repeat the minor collection. */
+ caml_requested_minor_gc = 0;
+ caml_young_trigger = caml_young_alloc_mid;
+ caml_young_limit = caml_young_trigger;
+ caml_empty_minor_heap ();
+ /* The minor heap is empty, we can start a major collection. */
+ if (caml_gc_phase == Phase_idle) caml_major_collection_slice (-1);
+ CAML_INSTR_TIME (tmr, "dispatch/finalizers_minor");
+ }
+ }
+ if (trigger != caml_young_alloc_start || caml_requested_major_slice){
+ /* The minor heap is half-full, do a major GC slice. */
+ caml_requested_major_slice = 0;
+ caml_young_trigger = caml_young_alloc_start;
+ caml_young_limit = caml_young_trigger;
+ caml_major_collection_slice (-1);
+ CAML_INSTR_TIME (tmr, "dispatch/major");
+ }
+}
- caml_empty_minor_heap ();
+/* For backward compatibility with Lablgtk: do a minor collection to
+ ensure that the minor heap is empty.
+*/
+CAMLexport void caml_minor_collection (void)
+{
+ caml_requested_minor_gc = 1;
+ caml_gc_dispatch ();
}
CAMLexport value caml_check_urgent_gc (value extra_root)
{
CAMLparam1 (extra_root);
- if (caml_force_major_slice) caml_minor_collection();
+ if (caml_requested_major_slice || caml_requested_minor_gc){
+ CAML_INSTR_INT ("force_minor/check_urgent_gc@", 1);
+ caml_gc_dispatch();
+ }
CAMLreturn (extra_root);
}
@@ -316,13 +436,14 @@ void caml_realloc_ref_table (struct caml_ref_table *tbl)
if (tbl->base == NULL){
caml_alloc_table (tbl, caml_minor_heap_wsz / 8, 256);
}else if (tbl->limit == tbl->threshold){
+ CAML_INSTR_INT ("request_minor/realloc_ref_table@", 1);
caml_gc_message (0x08, "ref_table threshold crossed\n", 0);
tbl->limit = tbl->end;
- caml_urge_major_slice ();
- }else{ /* This will almost never happen with the bytecode interpreter. */
+ caml_request_minor_gc ();
+ }else{
asize_t sz;
asize_t cur_ptr = tbl->ptr - tbl->base;
- Assert (caml_force_major_slice);
+ CAMLassert (caml_requested_minor_gc);
tbl->size *= 2;
sz = (tbl->size + tbl->reserve) * sizeof (value *);
diff --git a/byterun/misc.c b/byterun/misc.c
index 8191b83e70..28bd10cb22 100644
--- a/byterun/misc.c
+++ b/byterun/misc.c
@@ -17,6 +17,7 @@
#include "caml/config.h"
#include "caml/misc.h"
#include "caml/memory.h"
+#include "caml/version.h"
caml_timing_hook caml_major_slice_begin_hook = NULL;
caml_timing_hook caml_major_slice_end_hook = NULL;
@@ -49,7 +50,7 @@ uintnat caml_verb_gc = 0;
void caml_gc_message (int level, char *msg, uintnat arg)
{
- if (level < 0 || (caml_verb_gc & level) != 0){
+ if ((caml_verb_gc & level) != 0){
fprintf (stderr, msg, arg);
fflush (stderr);
}
@@ -195,3 +196,81 @@ int caml_runtime_warnings_active(void)
}
return 1;
}
+
+#ifdef CAML_INSTR
+/* Timers for profiling GC and allocation (experimental, Linux-only) */
+
+#include <limits.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+struct CAML_INSTR_BLOCK *CAML_INSTR_LOG = NULL;
+intnat CAML_INSTR_STARTTIME, CAML_INSTR_STOPTIME;
+
+#define Get_time(p,i) ((p)->ts[(i)].tv_nsec + 1000000000 * (p)->ts[(i)].tv_sec)
+
+void CAML_INSTR_INIT (void)
+{
+ char *s;
+
+ CAML_INSTR_STARTTIME = 0;
+ s = getenv ("OCAML_INSTR_START");
+ if (s != NULL) CAML_INSTR_STARTTIME = atol (s);
+ CAML_INSTR_STOPTIME = LONG_MAX;
+ s = getenv ("OCAML_INSTR_STOP");
+ if (s != NULL) CAML_INSTR_STOPTIME = atol (s);
+}
+
+void CAML_INSTR_ATEXIT (void)
+{
+ int i;
+ struct CAML_INSTR_BLOCK *p, *prev, *next;
+ FILE *f = NULL;
+ char *fname;
+
+ fname = getenv ("OCAML_INSTR_FILE");
+ if (fname != NULL){
+ char *mode = "a";
+ char buf [1000];
+ char *name = fname;
+
+ if (name[0] == '@'){
+ snprintf (buf, sizeof(buf), "%s.%d", name + 1, getpid ());
+ name = buf;
+ }
+ if (name[0] == '+'){
+ mode = "a";
+ name = name + 1;
+ }else if (name [0] == '>' || name[0] == '-'){
+ mode = "w";
+ name = name + 1;
+ }
+ f = fopen (name, mode);
+ }
+
+ if (f != NULL){
+ /* reverse the list */
+ prev = NULL;
+ p = CAML_INSTR_LOG;
+ while (p != NULL){
+ next = p->next;
+ p->next = prev;
+ prev = p;
+ p = next;
+ }
+ CAML_INSTR_LOG = prev;
+ fprintf (f, "==== OCAML INSTRUMENTATION DATA %s\n", OCAML_VERSION_STRING);
+ for (p = CAML_INSTR_LOG; p != NULL; p = p->next){
+ for (i = 0; i < p->index; i++){
+ fprintf (f, "@@ %19ld %19ld %s\n",
+ Get_time (p, i), Get_time(p, i+1), p->tag[i+1]);
+ }
+ if (p->tag[0][0] != '\000'){
+ fprintf (f, "@@ %19ld %19ld %s\n",
+ Get_time (p, 0), Get_time(p, p->index), p->tag[0]);
+ }
+ }
+ fclose (f);
+ }
+}
+#endif /* CAML_INSTR */
diff --git a/byterun/obj.c b/byterun/obj.c
index ab5b599705..57932c047d 100644
--- a/byterun/obj.c
+++ b/byterun/obj.c
@@ -111,9 +111,13 @@ CAMLprim value caml_obj_dup(value arg)
to 0 or greater than the current size.
algorithm:
- Change the length field of the header. Make up a white object
+ Change the length field of the header. Make up a black object
with the leftover part of the object: this is needed in the major
- heap and harmless in the minor heap.
+ heap and harmless in the minor heap. The object cannot be white
+ because there may still be references to it in the ref table. By
+ using a black object we ensure that the ref table will be emptied
+ before the block is reallocated (since there must be a minor
+ collection within each major cycle).
[newsize] is a value encoding a number of words.
*/
@@ -147,7 +151,7 @@ CAMLprim value caml_obj_truncate (value v, value newsize)
look like a pointer because there may be some references to it in
ref_table. */
Field (v, new_wosize) =
- Make_header (Wosize_whsize (wosize-new_wosize), 1, Caml_white);
+ Make_header (Wosize_whsize (wosize-new_wosize), Abstract_tag, Caml_black);
Hd_val (v) = Make_header (new_wosize, tag, color);
return Val_unit;
}
diff --git a/byterun/roots.c b/byterun/roots.c
index f812cd75af..bae771b842 100644
--- a/byterun/roots.c
+++ b/byterun/roots.c
@@ -27,7 +27,7 @@ CAMLexport struct caml__roots_block *caml_local_roots = NULL;
CAMLexport void (*caml_scan_roots_hook) (scanning_action f) = NULL;
-/* FIXME should rename to [caml_oldify_young_roots] and synchronise with
+/* FIXME should rename to [caml_oldify_minor_roots] and synchronise with
asmrun/roots.c */
/* Call [caml_oldify_one] on (at least) all the roots that point to the minor
heap. */
@@ -60,23 +60,38 @@ void caml_oldify_local_roots (void)
/* Call [caml_darken] on all roots */
-void caml_darken_all_roots (void)
+void caml_darken_all_roots_start (void)
{
- caml_do_roots (caml_darken);
+ caml_do_roots (caml_darken, 1);
}
-void caml_do_roots (scanning_action f)
+uintnat caml_incremental_roots_count = 1;
+
+intnat caml_darken_all_roots_slice (intnat work)
+{
+ return work;
+}
+
+/* Note, in byte-code there is only one global root, so [do_globals] is
+ ignored and [caml_darken_all_roots_slice] does nothing. */
+void caml_do_roots (scanning_action f, int do_globals)
{
+ CAML_INSTR_SETUP (tmr, "major_roots");
/* Global variables */
f(caml_global_data, &caml_global_data);
+ CAML_INSTR_TIME (tmr, "major_roots/global");
/* The stack and the local C roots */
caml_do_local_roots(f, caml_extern_sp, caml_stack_high, caml_local_roots);
+ CAML_INSTR_TIME (tmr, "major_roots/local");
/* Global C roots */
caml_scan_global_roots(f);
+ CAML_INSTR_TIME (tmr, "major_roots/C");
/* Finalised values */
caml_final_do_strong_roots (f);
+ CAML_INSTR_TIME (tmr, "major_roots/finalised");
/* Hook */
if (caml_scan_roots_hook != NULL) (*caml_scan_roots_hook)(f);
+ CAML_INSTR_TIME (tmr, "major_roots/hook");
}
CAMLexport void caml_do_local_roots (scanning_action f, value *stack_low,
diff --git a/byterun/signals.c b/byterun/signals.c
index e6ec7a518c..d7aae02b7a 100644
--- a/byterun/signals.c
+++ b/byterun/signals.c
@@ -67,7 +67,7 @@ void caml_record_signal(int signal_number)
#ifndef NATIVE_CODE
caml_something_to_do = 1;
#else
- caml_young_limit = caml_young_end;
+ caml_young_limit = caml_young_alloc_end;
#endif
}
@@ -157,15 +157,16 @@ void caml_execute_signal(int signal_number, int in_signal_handler)
/* Arrange for a garbage collection to be performed as soon as possible */
-int volatile caml_force_major_slice = 0;
+int volatile caml_requested_major_slice = 0;
+int volatile caml_requested_minor_gc = 0;
-void caml_urge_major_slice (void)
+void caml_request_major_slice (void)
{
- caml_force_major_slice = 1;
+ caml_requested_major_slice = 1;
#ifndef NATIVE_CODE
caml_something_to_do = 1;
#else
- caml_young_limit = caml_young_end;
+ caml_young_limit = caml_young_alloc_end;
/* This is only moderately effective on ports that cache [caml_young_limit]
in a register, since [caml_modify] is called directly, not through
[caml_c_call], so it may take a while before the register is reloaded
@@ -173,6 +174,17 @@ void caml_urge_major_slice (void)
#endif
}
+void caml_request_minor_gc (void)
+{
+ caml_requested_minor_gc = 1;
+#ifndef NATIVE_CODE
+ caml_something_to_do = 1;
+#else
+ caml_young_limit = caml_young_alloc_end;
+ /* Same remark as above in [caml_request_major_slice]. */
+#endif
+}
+
/* OS-independent numbering of signals */
#ifndef SIGABRT
diff --git a/byterun/startup.c b/byterun/startup.c
index faa0e4a1f7..fa43c53169 100644
--- a/byterun/startup.c
+++ b/byterun/startup.c
@@ -287,9 +287,13 @@ CAMLexport void caml_main(char **argv)
caml_external_raise = NULL;
/* Determine options and position of bytecode file */
#ifdef DEBUG
- caml_verb_gc = 0xBF;
+ caml_verb_gc = 0x3F;
#endif
caml_parse_ocamlrunparam();
+#ifdef DEBUG
+ caml_gc_message (-1, "### OCaml runtime: debug mode ###\n", 0);
+#endif
+
pos = 0;
/* First, try argv[0] (when ocamlrun is called by a bytecode program) */
@@ -326,7 +330,7 @@ CAMLexport void caml_main(char **argv)
/* Initialize the abstract machine */
caml_init_gc (caml_init_minor_heap_wsz, caml_init_heap_wsz,
caml_init_heap_chunk_sz, caml_init_percent_free,
- caml_init_max_percent_free);
+ caml_init_max_percent_free, caml_init_major_window);
caml_init_stack (caml_init_max_stack_wsz);
caml_init_atom_table();
caml_init_backtrace();
@@ -410,7 +414,7 @@ CAMLexport void caml_startup_code(
/* Initialize the abstract machine */
caml_init_gc (caml_init_minor_heap_wsz, caml_init_heap_wsz,
caml_init_heap_chunk_sz, caml_init_percent_free,
- caml_init_max_percent_free);
+ caml_init_max_percent_free, caml_init_major_window);
caml_init_stack (caml_init_max_stack_wsz);
caml_init_atom_table();
caml_init_backtrace();
diff --git a/byterun/startup_aux.c b/byterun/startup_aux.c
index ea9a27f1ab..1d584497a0 100644
--- a/byterun/startup_aux.c
+++ b/byterun/startup_aux.c
@@ -42,6 +42,7 @@ uintnat caml_init_minor_heap_wsz = Minor_heap_def;
uintnat caml_init_heap_chunk_sz = Heap_chunk_def;
uintnat caml_init_heap_wsz = Init_heap_def;
uintnat caml_init_max_stack_wsz = Max_stack_def;
+uintnat caml_init_major_window = Major_window_def;
extern int caml_parser_trace;
uintnat caml_trace_level = 0;
@@ -73,6 +74,7 @@ void caml_parse_ocamlrunparam(void)
case 'a': scanmult (opt, &p); caml_set_allocation_policy (p); break;
case 'b': scanmult (opt, &p); caml_record_backtrace(Val_bool (p)); break;
case 'h': scanmult (opt, &caml_init_heap_wsz); break;
+ case 'H': scanmult (opt, &caml_use_huge_pages); break;
case 'i': scanmult (opt, &caml_init_heap_chunk_sz); break;
case 'l': scanmult (opt, &caml_init_max_stack_wsz); break;
case 'o': scanmult (opt, &caml_init_percent_free); break;
@@ -82,6 +84,7 @@ void caml_parse_ocamlrunparam(void)
case 's': scanmult (opt, &caml_init_minor_heap_wsz); break;
case 't': scanmult (opt, &caml_trace_level); break;
case 'v': scanmult (opt, &caml_verb_gc); break;
+ case 'w': scanmult (opt, &caml_init_major_window); break;
case 'W': scanmult (opt, &caml_runtime_warnings); break;
}
while (*opt != '\0'){
diff --git a/byterun/sys.c b/byterun/sys.c
index 506c99a5ba..2eae52a55a 100644
--- a/byterun/sys.c
+++ b/byterun/sys.c
@@ -44,14 +44,15 @@
#include "caml/alloc.h"
#include "caml/debugger.h"
#include "caml/fail.h"
+#include "caml/gc_ctrl.h"
#include "caml/instruct.h"
+#include "caml/io.h"
+#include "caml/misc.h"
#include "caml/mlvalues.h"
#include "caml/osdeps.h"
#include "caml/signals.h"
#include "caml/stacks.h"
#include "caml/sys.h"
-#include "caml/gc_ctrl.h"
-#include "caml/io.h"
static char * error_message(void)
{
@@ -135,6 +136,7 @@ CAMLprim value caml_sys_exit(value retcode)
#ifndef NATIVE_CODE
caml_debugger(PROGRAM_EXIT);
#endif
+ CAML_INSTR_ATEXIT ();
exit(Int_val(retcode));
return Val_unit;
}
diff --git a/byterun/weak.c b/byterun/weak.c
index 3614d11cf8..8be7a18101 100644
--- a/byterun/weak.c
+++ b/byterun/weak.c
@@ -51,11 +51,7 @@ static void do_set (value ar, mlsize_t offset, value v)
value old = Field (ar, offset);
Field (ar, offset) = v;
if (!(Is_block (old) && Is_young (old))){
- if (caml_weak_ref_table.ptr >= caml_weak_ref_table.limit){
- CAMLassert (caml_weak_ref_table.ptr == caml_weak_ref_table.limit);
- caml_realloc_ref_table (&caml_weak_ref_table);
- }
- *caml_weak_ref_table.ptr++ = &Field (ar, offset);
+ add_to_ref_table (&caml_weak_ref_table, &Field (ar, offset));
}
}else{
Field (ar, offset) = v;
diff --git a/config/auto-aux/mmap-huge.c b/config/auto-aux/mmap-huge.c
new file mode 100644
index 0000000000..c4324d11f7
--- /dev/null
+++ b/config/auto-aux/mmap-huge.c
@@ -0,0 +1,49 @@
+/***********************************************************************/
+/* */
+/* OCaml */
+/* */
+/* Damien Doligez, Jane Street Group, LLC */
+/* */
+/* Copyright 2015 Institut National de Recherche en Informatique et */
+/* en Automatique. All rights reserved. This file is distributed */
+/* under the terms of the GNU Library General Public License, with */
+/* the special exception on linking described in file ../../LICENSE. */
+/* */
+/***********************************************************************/
+
+#include <sys/mman.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#define huge_page_size (4 * 1024 * 1024)
+
+/* Test for the possible availability of huge pages. Answer yes
+ if the OS knows about huge pages, even if they are not available
+ on the build machine at configure time, because (on Linux) huge
+ pages can be activated and deactivated easily while the system
+ is running.
+*/
+
+int main (int argc, char *argv[]){
+ void *block;
+ char *p;
+ int i, res;
+ block = mmap (NULL, huge_page_size, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB,
+ -1, 0);
+ if (block == MAP_FAILED){
+ block = mmap (NULL, huge_page_size, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS,
+ -1, 0);
+ }
+ if (block == MAP_FAILED){
+ perror ("mmap");
+ return 3;
+ }
+ /*printf ("block = %p\n", block);*/
+ p = (char *) block;
+ for (i = 0; i < huge_page_size; i += 4096){
+ p[i] = (char) i;
+ }
+ return 0;
+}
diff --git a/configure b/configure
index 1ab5098fc7..e5ae7a5953 100755
--- a/configure
+++ b/configure
@@ -40,6 +40,7 @@ dl_defs=''
verbose=no
with_curses=yes
debugruntime=noruntimed
+with_instrumented_runtime=false
with_sharedlibs=yes
partialld="ld -r"
with_debugger=ocamldebugger
@@ -144,6 +145,8 @@ while : ; do
verbose=yes;;
-with-debug-runtime|--with-debug-runtime)
debugruntime=runtimed;;
+ -with-instrumented-runtime|--with-instrumented-runtime)
+ with_instrumented_runtime=true;;
-no-debugger|--no-debugger)
with_debugger="";;
-no-ocamldoc|--no-ocamldoc)
@@ -1687,6 +1690,16 @@ if $no_naked_pointers; then
echo "#define NO_NAKED_POINTERS" >> m.h
fi
+# Check for mmap support for huge pages and contiguous heap
+if sh ./runtest mmap-huge.c; then
+ has_huge_pages=true
+ echo "#define HAS_HUGE_PAGES" >>s.h
+ echo "#define HUGE_PAGE_SIZE (4 * 1024 * 1024)" >>s.h
+ inf "mmap supports huge pages"
+else
+ has_huge_pages=false
+fi
+
# Finish generated files
cclibs="$cclibs $mathlib"
@@ -1755,6 +1768,7 @@ if $shared_libraries_supported; then
else
echo "SHARED=noshared" >>Makefile
fi
+echo "RUNTIMEI=${with_instrumented_runtime}" >>Makefile
echo "WITH_DEBUGGER=${with_debugger}" >>Makefile
echo "WITH_OCAMLDOC=${with_ocamldoc}" >>Makefile
echo "WITH_OCAMLBUILD=${with_ocamlbuild}" >>Makefile
@@ -1845,6 +1859,10 @@ if test "$debugruntime" = "runtimed"; then
inf "Debug runtime will be compiled and installed"
fi
+if $with_instrumented_runtime; then
+ inf "Instrumented runtime will be compiled and installed"
+fi
+
inf "Additional libraries supported:"
inf " $otherlibraries"
diff --git a/debugger/.depend b/debugger/.depend
index c9a56ac144..b62541619a 100644
--- a/debugger/.depend
+++ b/debugger/.depend
@@ -16,8 +16,8 @@ int64ops.cmi :
lexer.cmi : parser.cmi
loadprinter.cmi : ../parsing/longident.cmi dynlink.cmi
parameters.cmi :
-parser_aux.cmi : primitives.cmi ../parsing/longident.cmi
parser.cmi : parser_aux.cmi ../parsing/longident.cmi
+parser_aux.cmi : primitives.cmi ../parsing/longident.cmi
pattern_matching.cmi : ../typing/typedtree.cmi parser_aux.cmi debugcom.cmi
pos.cmi : ../bytecomp/instruct.cmi
primitives.cmi : $(UNIXDIR)/unix.cmi
diff --git a/driver/compenv.ml b/driver/compenv.ml
index 8c749182d1..42d98bca6f 100644
--- a/driver/compenv.ml
+++ b/driver/compenv.ml
@@ -287,6 +287,8 @@ let read_OCAMLPARAM ppf position =
| "can-discard" ->
can_discard := v ::!can_discard
+ | "timings" -> set "timings" [ print_timings ] v
+
| _ ->
if not (List.mem name !can_discard) then begin
can_discard := name :: !can_discard;
diff --git a/driver/compile.ml b/driver/compile.ml
index 5527355acf..d43303fe7f 100644
--- a/driver/compile.ml
+++ b/driver/compile.ml
@@ -66,7 +66,8 @@ let implementation ppf sourcefile outputprefix =
Pparse.parse_implementation ~tool_name ppf sourcefile
++ print_if ppf Clflags.dump_parsetree Printast.implementation
++ print_if ppf Clflags.dump_source Pprintast.structure
- ++ Typemod.type_implementation sourcefile outputprefix modulename env
+ ++ Timings.(time (Typing sourcefile))
+ (Typemod.type_implementation sourcefile outputprefix modulename env)
++ print_if ppf Clflags.dump_typedtree
Printtyped.implementation_with_coercion
in
@@ -76,18 +77,22 @@ let implementation ppf sourcefile outputprefix =
end else begin
let bytecode =
(typedtree, coercion)
- ++ Translmod.transl_implementation modulename
+ ++ Timings.(time (Transl sourcefile))
+ (Translmod.transl_implementation modulename)
++ print_if ppf Clflags.dump_rawlambda Printlambda.lambda
- ++ Simplif.simplify_lambda
- ++ print_if ppf Clflags.dump_lambda Printlambda.lambda
- ++ Bytegen.compile_implementation modulename
- ++ print_if ppf Clflags.dump_instr Printinstr.instrlist
+ ++ Timings.(accumulate_time (Generate sourcefile))
+ (fun lambda ->
+ Simplif.simplify_lambda lambda
+ ++ print_if ppf Clflags.dump_lambda Printlambda.lambda
+ ++ Bytegen.compile_implementation modulename
+ ++ print_if ppf Clflags.dump_instr Printinstr.instrlist)
in
let objfile = outputprefix ^ ".cmo" in
let oc = open_out_bin objfile in
try
bytecode
- ++ Emitcode.to_file oc modulename objfile;
+ ++ Timings.(accumulate_time (Generate sourcefile))
+ (Emitcode.to_file oc modulename objfile);
Warnings.check_fatal ();
close_out oc;
Stypes.dump (Some (outputprefix ^ ".annot"))
diff --git a/driver/main.ml b/driver/main.ml
index 9421efaf6d..50ef9748ee 100644
--- a/driver/main.ml
+++ b/driver/main.ml
@@ -144,6 +144,7 @@ module Options = Main_args.Make_bytecomp_options (struct
let _drawlambda = set dump_rawlambda
let _dlambda = set dump_lambda
let _dinstr = set dump_instr
+ let _dtimings = set print_timings
let anonymous = anonymous
end)
@@ -197,9 +198,11 @@ let main () =
Bytelink.link ppf (get_objfiles ()) target;
Warnings.check_fatal ();
end;
- exit 0
with x ->
Location.report_exception ppf x;
exit 2
-let _ = main ()
+let _ =
+ Timings.(time All) main ();
+ if !Clflags.print_timings then Timings.print Format.std_formatter;
+ exit 0
diff --git a/driver/main_args.ml b/driver/main_args.ml
index b44941f9f7..9b3c6f19f1 100644
--- a/driver/main_args.ml
+++ b/driver/main_args.ml
@@ -296,6 +296,10 @@ let mk_thread f =
" Generate code that supports the system threads library"
;;
+let mk_dtimings f =
+ "-dtimings", Arg.Unit f, " Print timings"
+;;
+
let mk_unsafe f =
"-unsafe", Arg.Unit f,
" Do not compile bounds checking on array and string access"
@@ -567,6 +571,7 @@ module type Compiler_options = sig
val _color : string -> unit
val _nopervasives : unit -> unit
+ val _dtimings : unit -> unit
end
;;
@@ -742,6 +747,7 @@ struct
mk_drawlambda F._drawlambda;
mk_dlambda F._dlambda;
mk_dinstr F._dinstr;
+ mk_dtimings F._dtimings;
]
end;;
@@ -875,6 +881,7 @@ struct
mk_dscheduling F._dscheduling;
mk_dlinear F._dlinear;
mk_dstartup F._dstartup;
+ mk_dtimings F._dtimings;
mk_opaque F._opaque;
]
end;;
diff --git a/driver/main_args.mli b/driver/main_args.mli
index 04f0c6d713..bc14432d5f 100644
--- a/driver/main_args.mli
+++ b/driver/main_args.mli
@@ -83,6 +83,7 @@ module type Compiler_options = sig
val _color : string -> unit
val _nopervasives : unit -> unit
+ val _dtimings : unit -> unit
end
;;
diff --git a/driver/optcompile.ml b/driver/optcompile.ml
index 405011c411..8173122b38 100644
--- a/driver/optcompile.ml
+++ b/driver/optcompile.ml
@@ -63,7 +63,8 @@ let implementation ppf sourcefile outputprefix =
let modulename = module_of_filename ppf sourcefile outputprefix in
Env.set_unit_name modulename;
let env = Compmisc.initial_env() in
- Compilenv.reset ?packname:!Clflags.for_package modulename;
+ Compilenv.reset ~source_provenance:(Timings.File sourcefile)
+ ?packname:!Clflags.for_package modulename;
let cmxfile = outputprefix ^ ".cmx" in
let objfile = outputprefix ^ ext_obj in
let comp ast =
@@ -71,18 +72,22 @@ let implementation ppf sourcefile outputprefix =
ast
++ print_if ppf Clflags.dump_parsetree Printast.implementation
++ print_if ppf Clflags.dump_source Pprintast.structure
- ++ Typemod.type_implementation sourcefile outputprefix modulename env
+ ++ Timings.(time (Typing sourcefile))
+ (Typemod.type_implementation sourcefile outputprefix modulename env)
++ print_if ppf Clflags.dump_typedtree
Printtyped.implementation_with_coercion
in
if not !Clflags.print_types then begin
(typedtree, coercion)
- ++ Translmod.transl_store_implementation modulename
+ ++ Timings.(time (Transl sourcefile))
+ (Translmod.transl_store_implementation modulename)
+++ print_if ppf Clflags.dump_rawlambda Printlambda.lambda
- +++ Simplif.simplify_lambda
- +++ print_if ppf Clflags.dump_lambda Printlambda.lambda
- ++ Asmgen.compile_implementation outputprefix ppf;
- Compilenv.save_unit_info cmxfile;
+ ++ Timings.(time (Generate sourcefile))
+ (fun (size, lambda) ->
+ (size, Simplif.simplify_lambda lambda)
+ +++ print_if ppf Clflags.dump_lambda Printlambda.lambda
+ ++ Asmgen.compile_implementation ~sourcefile outputprefix ppf;
+ Compilenv.save_unit_info cmxfile)
end;
Warnings.check_fatal ();
Stypes.dump (Some (outputprefix ^ ".annot"))
diff --git a/driver/optmain.ml b/driver/optmain.ml
index bef8d86b4f..6b6b95e81c 100644
--- a/driver/optmain.ml
+++ b/driver/optmain.ml
@@ -157,6 +157,7 @@ module Options = Main_args.Make_optcomp_options (struct
let _dscheduling = set dump_scheduling
let _dlinear = set dump_linear
let _dstartup = set keep_startup_file
+ let _dtimings = set print_timings
let _opaque = set opaque
let anonymous = anonymous
@@ -216,9 +217,11 @@ let main () =
Asmlink.link ppf (get_objfiles ()) target;
Warnings.check_fatal ();
end;
- exit 0
with x ->
Location.report_exception ppf x;
exit 2
-let _ = main ()
+let _ =
+ Timings.(time All) main ();
+ if !Clflags.print_timings then Timings.print Format.std_formatter;
+ exit 0
diff --git a/driver/pparse.ml b/driver/pparse.ml
index b67c1805d3..d8f57ec3d2 100644
--- a/driver/pparse.ml
+++ b/driver/pparse.ml
@@ -34,7 +34,9 @@ let call_external_preprocessor sourcefile pp =
let preprocess sourcefile =
match !Clflags.preprocessor with
None -> sourcefile
- | Some pp -> call_external_preprocessor sourcefile pp
+ | Some pp ->
+ Timings.(time (Preprocessing sourcefile))
+ (call_external_preprocessor sourcefile) pp
let remove_preprocessed inputfile =
@@ -166,7 +168,6 @@ let file ppf ~tool_name inputfile parse_fun ast_magic =
close_in ic;
apply_rewriters ~restore:false ~tool_name ast_magic ast
-
let report_error ppf = function
| CannotRun cmd ->
fprintf ppf "Error while running external preprocessor@.\
@@ -195,8 +196,10 @@ let parse_all ~tool_name parse_fun magic ppf sourcefile =
ast
let parse_implementation ppf ~tool_name sourcefile =
- parse_all ~tool_name Parse.implementation
+ parse_all ~tool_name
+ (Timings.(time (Parsing sourcefile)) Parse.implementation)
Config.ast_impl_magic_number ppf sourcefile
let parse_interface ppf ~tool_name sourcefile =
- parse_all ~tool_name Parse.interface
+ parse_all ~tool_name
+ (Timings.(time (Parsing sourcefile)) Parse.interface)
Config.ast_intf_magic_number ppf sourcefile
diff --git a/lex/.depend b/lex/.depend
index 10f90c22c6..455421e708 100644
--- a/lex/.depend
+++ b/lex/.depend
@@ -3,8 +3,8 @@ compact.cmi : lexgen.cmi
cset.cmi :
lexer.cmi : parser.cmi
lexgen.cmi : syntax.cmi
-outputbis.cmi : syntax.cmi lexgen.cmi common.cmi
output.cmi : syntax.cmi lexgen.cmi compact.cmi common.cmi
+outputbis.cmi : syntax.cmi lexgen.cmi common.cmi
parser.cmi : syntax.cmi
syntax.cmi : cset.cmi
table.cmi :
@@ -22,10 +22,10 @@ main.cmo : syntax.cmi parser.cmi outputbis.cmi output.cmi lexgen.cmi \
lexer.cmi cset.cmi compact.cmi common.cmi
main.cmx : syntax.cmx parser.cmx outputbis.cmx output.cmx lexgen.cmx \
lexer.cmx cset.cmx compact.cmx common.cmx
-outputbis.cmo : lexgen.cmi common.cmi outputbis.cmi
-outputbis.cmx : lexgen.cmx common.cmx outputbis.cmi
output.cmo : lexgen.cmi compact.cmi common.cmi output.cmi
output.cmx : lexgen.cmx compact.cmx common.cmx output.cmi
+outputbis.cmo : lexgen.cmi common.cmi outputbis.cmi
+outputbis.cmx : lexgen.cmx common.cmx outputbis.cmi
parser.cmo : syntax.cmi cset.cmi parser.cmi
parser.cmx : syntax.cmx cset.cmx parser.cmi
syntax.cmo : cset.cmi syntax.cmi
diff --git a/manual/manual/refman/expr.etex b/manual/manual/refman/expr.etex
index 5d793b7cde..a94d350d17 100644
--- a/manual/manual/refman/expr.etex
+++ b/manual/manual/refman/expr.etex
@@ -39,8 +39,10 @@ expr:
| expr '::' expr
| '[' expr { ';' expr } [';'] ']'
| '[|' expr { ';' expr } [';'] '|]'
- | '{' field '=' expr { ';' field '=' expr } [';'] '}'
- | '{' expr 'with' field '=' expr { ';' field '=' expr } [';'] '}'
+ | '{' field [':' typexpr] '=' expr%
+ { ';' field [':' typexpr] '=' expr } [';'] '}'
+ | '{' expr 'with' field [':' typexpr] '=' expr%
+ { ';' field [':' typexpr] '=' expr } [';'] '}'
| expr {{ argument }}
| prefix-symbol expr
| '-' expr
@@ -58,7 +60,7 @@ expr:
| expr ';' expr
| 'match' expr 'with' pattern-matching
| 'function' pattern-matching
- | 'fun' {{ parameter }} '->' expr
+ | 'fun' {{ parameter }} [ ':' typexpr ] '->' expr
| 'try' expr 'with' pattern-matching
| 'let' ['rec'] let-binding { 'and' let-binding } 'in' expr
| 'new' class-path
@@ -254,6 +256,26 @@ This expression is equivalent to:
@"fun" parameter_1 "->" \ldots "fun" parameter_n "->" expr@
\end{center}
+An optional type constraint @typexpr@ can be added before "->" to enforce
+the type of the result to be compatible with the constraint @typexpr@:
+\begin{center}
+@"fun" parameter_1 \ldots parameter_n ":" typexpr "->" expr@
+\end{center}
+is equivalent to
+\begin{center}
+ @"fun" parameter_1 "->" \ldots "fun" parameter_n "->" %
+ (expr ":" typexpr )@
+\end{center}
+Beware of the small syntactic difference between a type constraint on
+the last parameter
+\begin{center}
+ @"fun" parameter_1 \ldots (parameter_n":"typexpr)"->" expr @
+\end{center}
+and one on the result
+\begin{center}
+ @"fun" parameter_1 \ldots parameter_n":" typexpr "->" expr @
+\end{center}
+
The parameter patterns @"~"lab@ and @"~("lab [":" typ]")"@
are shorthands for respectively @"~"lab":"lab@ and
@"~"lab":("lab [":" typ]")"@, and similarly for their optional
@@ -534,7 +556,10 @@ The fields @field_1@ to @field_n@ must all belong to the same record
type; each field of this record type must appear exactly
once in the record expression, though they can appear in any
order. The order in which @expr_1@ to @expr_n@ are evaluated is not
-specified.
+specified. Optional type constraints can be added after each field
+@'{' field_1 ':' typexpr_1 '=' expr_1 ';'%
+ \ldots ';' field_n ':' typexpr_n '=' expr_n '}'@
+to force the type of @field_k@ to be compatible with @typexpr_k@.
The expression
@"{" expr "with" field_1 "=" expr_1 ";" \ldots ";" field_n "=" expr_n "}"@
@@ -542,7 +567,11 @@ builds a fresh record with fields @field_1 \ldots field_n@ equal to
@expr_1 \ldots expr_n@, and all other fields having the same value as
in the record @expr@. In other terms, it returns a shallow copy of
the record @expr@, except for the fields @field_1 \ldots field_n@,
-which are initialized to @expr_1 \ldots expr_n@.
+which are initialized to @expr_1 \ldots expr_n@. As previously, it is
+possible to add an optional type constraint on each field being updated
+with
+@"{" expr "with" field_1 ':' typexpr_1 "=" expr_1 ";" %
+ \ldots ";" field_n ':' typexpr_n "=" expr_n "}"@.
The expression @expr_1 '.' field@ evaluates @expr_1@ to a record
value, and returns the value associated to @field@ in this record
diff --git a/manual/manual/refman/exten.etex b/manual/manual/refman/exten.etex
index af56467ec8..9d21d2a1e3 100644
--- a/manual/manual/refman/exten.etex
+++ b/manual/manual/refman/exten.etex
@@ -417,9 +417,9 @@ expr:
When the body of a local open expression is delimited by @'[' ']'@, @'[|' '|]'@, @'{' '}'@, or @'{<' '>}'@, the parentheses can be omitted. For example, @module-path'.['expr']'@ is equivalent to @module-path'.(['expr'])'@, and @module-path'.[|' expr '|]'@ is equivalent to @module-path'.([|' expr '|])'@.
-\section{Record notations}
+\section{Record and object notations}
-(Introduced in OCaml 3.12)
+(Introduced in OCaml 3.12, object copy notation added in Ocaml 4.03)
\begin{syntax}
pattern:
@@ -430,13 +430,14 @@ expr:
...
| '{' field ['=' expr] { ';' field ['=' expr] } [';'] '}'
| '{' expr 'with' field ['=' expr] { ';' field ['=' expr] } [';'] '}'
+ | '{' '<' expr 'with' field ['=' expr] { ';' field ['=' expr] } [';'] '>' '}'
+
\end{syntax}
-In a record pattern or a record construction expression, a single
-identifier @id@ stands for @id '=' id@, and a qualified identifier
+In a record pattern, a record construction expression or an object copy expression,
+a single identifier @id@ stands for @id '=' id@, and a qualified identifier
@module-path '.' id@ stands for @module-path '.' id '=' id@.
-For example, assuming
-the record type
+For example, assuming the record type
\begin{verbatim}
type point = { x: float; y: float }
\end{verbatim}
@@ -446,6 +447,15 @@ has been declared, the following expressions are equivalent:
let x = 1 and y = 2 in { x; y }
let x = 1 and y = 2 in { x = x; y }
\end{verbatim}
+On the object side, all following methods are equivalent:
+\begin{verbatim}
+ object
+ val x=0. val y=0. val z=0.
+ method f_0 x y = {< x; y >}
+ method f_1 x y = {< x = x; y >}
+ method f_2 x y = {< x=x ; y = y >}
+ end
+\end{verbatim}
Likewise, the following functions are equivalent:
\begin{verbatim}
fun {x = x; y = y} -> x + y
@@ -511,12 +521,12 @@ polymorphic.
\ikwd{type\@\texttt{type}}
\ikwd{fun\@\texttt{fun}}
-(Introduced in OCaml 3.12)
+(Introduced in OCaml 3.12, short syntax added in 4.03)
\begin{syntax}
parameter:
...
- | '(' "type" typeconstr-name ')'
+ | '(' "type" {{typeconstr-name}} ')'
\end{syntax}
The expression @"fun" '(' "type" typeconstr-name ')' "->" expr@ introduces a
@@ -535,8 +545,16 @@ and even use the alternative syntax for declaring functions:
\begin{verbatim}
let f (type t) (foo : t list) = ...
\end{verbatim}
+If several locally abstract types need to be introduced, it is possible to use
+the syntax
+@"fun" '(' "type" typeconstr-name_1 \ldots typeconstr-name_n ')' "->" expr@
+as syntactic sugar for @"fun" '(' "type" typeconstr-name_1 ')' "->" \ldots "->"
+'(' "type" typeconstr-name_n ')' "->" expr@. For instance,
+\begin{verbatim}
+ let f = fun (type t u v) -> (foo : (t * u * v) list) -> ...
+\end{verbatim}
-This construction is useful because the type constructor it introduces
+This construction is useful because the type constructors it introduces
can be used in places where a type variable is not allowed. For
instance, one can use it to define an exception in a local module
within a polymorphic function.
diff --git a/manual/manual/refman/modtypes.etex b/manual/manual/refman/modtypes.etex
index e500496cc1..0133e05d37 100644
--- a/manual/manual/refman/modtypes.etex
+++ b/manual/manual/refman/modtypes.etex
@@ -23,6 +23,7 @@ module-type:
modtype-path
| 'sig' { specification [';;'] } 'end'
| 'functor' '(' module-name ':' module-type ')' '->' module-type
+ | module-type '->' module-type
| module-type 'with' mod-constraint { 'and' mod-constraint }
| '(' module-type ')'
;
@@ -245,9 +246,13 @@ is the type of functors (functions from modules to modules) that take
as argument a module of type @module-type_1@ and return as result a
module of type @module-type_2@. The module type @module-type_2@ can
use the name @module-name@ to refer to type components of the actual
-argument of the functor. No restrictions are placed on the type of the
-functor argument; in particular, a functor may take another functor as
-argument (``higher-order'' functor).
+argument of the functor. If the type @module-type_2@ does not
+depend on type components of @module-name@, the module type expression
+can be simplified with the alternative short syntax
+@ module-type_1 '->' module-type_2 @.
+No restrictions are placed on the type of the functor argument; in
+particular, a functor may take another functor as argument
+(``higher-order'' functor).
\subsection{The "with" operator}
diff --git a/manual/manual/refman/patterns.etex b/manual/manual/refman/patterns.etex
index 518ce8cea3..50c2b8a2d2 100644
--- a/manual/manual/refman/patterns.etex
+++ b/manual/manual/refman/patterns.etex
@@ -15,7 +15,8 @@ pattern:
| "`"tag-name pattern
| "#"typeconstr
| pattern {{ ',' pattern }}
- | '{' field '=' pattern { ';' field '=' pattern } [ ';' ] '}'
+ | '{' field [':' typexpr] '=' pattern%
+ { ';' field [':' typexpr] '=' pattern } [ ';' ] '}'
| '[' pattern { ';' pattern } [ ';' ] ']'
| pattern '::' pattern
| '[|' pattern { ';' pattern } [ ';' ] '|]'
@@ -140,7 +141,10 @@ pattern_n "}"@ matches records that define at least the fields
@field_i@ matches the pattern @pattern_i@, for \fromoneto{i}{n}.
The record value can define more fields than @field_1@ \ldots
@field_n@; the values associated to these extra fields are not taken
-into account for matching.
+into account for matching. Optional type constraints can be added field
+by field with @"{" field_1 ":" typexpr_1 "=" pattern_1 ";"%
+\ldots ";"field_n ":" typexpr_n "=" pattern_n "}"@ to force the type
+of @field_k@ to be compatible with @typexpr_k@.
\subsubsection*{Array patterns}
diff --git a/manual/manual/refman/types.etex b/manual/manual/refman/types.etex
index fabd5e00ac..c4b4512937 100644
--- a/manual/manual/refman/types.etex
+++ b/manual/manual/refman/types.etex
@@ -47,19 +47,19 @@ in type constraints over patterns and expressions.
\subsubsection*{Type variables}
The type expression @"'" ident@ stands for the type variable named
-@ident@. The type expression @"_"@ stands for an anonymous type variable.
-In data type definitions, type variables are names for the
-data type parameters. In type constraints, they represent unspecified
-types that can be instantiated by any type to satisfy the type
-constraint. In general the scope of a named type variable is the
-whole top-level phrase where it appears, and it can only be
-generalized when leaving
-this scope. Anonymous variables have no such restriction.
-In the following cases, the scope of named type variables is
-restricted to the type expression where they appear: 1) for universal
-(explicitly polymorphic) type variables; 2) for type variables that
-only appear in public method specifications (as those variables will
-be made universal, as described in section~\ref{sec-methspec});
+@ident@. The type expression @"_"@ stands for either an anonymous type
+variable or anonymous type parameters. In data type definitions, type
+variables are names for the data type parameters. In type constraints,
+they represent unspecified types that can be instantiated by any type
+to satisfy the type constraint. In general the scope of a named type
+variable is the whole top-level phrase where it appears, and it can
+only be generalized when leaving this scope. Anonymous variables have
+no such restriction. In the following cases, the scope of named type
+variables is restricted to the type expression where they appear:
+1) for universal (explicitly polymorphic) type variables;
+2) for type variables that only appear in public method specifications
+(as those variables will be made universal, as described in
+section~\ref{sec-methspec});
3) for variables used as aliases, when the type they are aliased to
would be invalid in the scope of the enclosing definition ({\it i.e.}
when it contains free universal type variables, or locally
@@ -104,6 +104,11 @@ The type expression @(typexpr_1,\ldots,typexpr_n) typeconstr@, where
application of the $n$-ary type constructor @typeconstr@ to the types
@typexpr_1@ through @typexpr_n@.
+In the type expression @ "_" typeconstr @, the anonymous type expression
+@ "_" @ stands in for anonymous type parameters and is equivalent to
+@ ("_", \ldots,"_") @ with as many repetitions of "_" as the arity of
+@typeconstr@.
+
\subsubsection*{Aliased and recursive types}
\ikwd{as\@\texttt{as}}
diff --git a/manual/manual/tutorials/lablexamples.etex b/manual/manual/tutorials/lablexamples.etex
index 8cf2c7a3ad..4f373151ea 100644
--- a/manual/manual/tutorials/lablexamples.etex
+++ b/manual/manual/tutorials/lablexamples.etex
@@ -317,10 +317,12 @@ is only used when a more detailed specification is needed.
Variants as presented in section~\ref{s:tut-recvariants} are a
powerful tool to build data structures and algorithms. However they
sometimes lack flexibility when used in modular programming. This is
-due to the fact every constructor reserves a name to be used with a
-unique type. One cannot use the same name in another type, or consider
-a value of some type to belong to some other type with more
-constructors.
+due to the fact that every constructor is assigned to an unique type
+when defined and used. Even if the same name appears in the definition
+of multiple types, the constructor itself belongs to only one type.
+Therefore, one cannot decide that a given constructor belongs to
+multiple types, or consider a value of some type to belong to some
+other type with more constructors.
With polymorphic variants, this original assumption is removed. That
is, a variant tag does not belong to any type in particular, the type
diff --git a/manual/manual/tutorials/objectexamples.etex b/manual/manual/tutorials/objectexamples.etex
index 609ac170db..0563459acf 100644
--- a/manual/manual/tutorials/objectexamples.etex
+++ b/manual/manual/tutorials/objectexamples.etex
@@ -515,7 +515,7 @@ in the order they are introduced.
Reference cells can be implemented as objects.
The naive definition fails to typecheck:
\begin{caml_example}
-class ref x_init =
+class oref x_init =
object
val mutable x = x_init
method get = x
@@ -528,7 +528,7 @@ either the class should be parametric, or the method type should be
constrained to a monomorphic type. A monomorphic instance of the class could
be defined by:
\begin{caml_example}
-class ref (x_init:int) =
+class oref (x_init:int) =
object
val mutable x = x_init
method get = x
@@ -538,7 +538,7 @@ class ref (x_init:int) =
Note that since immediate objects do not define a class type, they have
no such restriction.
\begin{caml_example}
-let new_ref x_init =
+let new_oref x_init =
object
val mutable x = x_init
method get = x
@@ -550,19 +550,19 @@ list the type parameters in its declaration. Class type parameters are
listed between "[" and "]". The type parameters must also be
bound somewhere in the class body by a type constraint.
\begin{caml_example}
-class ['a] ref x_init =
+class ['a] oref x_init =
object
val mutable x = (x_init : 'a)
method get = x
method set y = x <- y
end;;
-let r = new ref 1 in r#set 2; (r#get);;
+let r = new oref 1 in r#set 2; (r#get);;
\end{caml_example}
The type parameter in the declaration may actually be constrained in the
body of the class definition. In the class type, the actual value of
the type parameter is displayed in the "constraint" clause.
\begin{caml_example}
-class ['a] ref_succ (x_init:'a) =
+class ['a] oref_succ (x_init:'a) =
object
val mutable x = x_init + 1
method get = x
@@ -1060,7 +1060,7 @@ class backup =
The above definition will only backup one level.
The backup facility can be added to any class by using multiple inheritance.
\begin{caml_example}
-class ['a] backup_ref x = object inherit ['a] ref x inherit backup end;;
+class ['a] backup_ref x = object inherit ['a] oref x inherit backup end;;
let rec get p n = if n = 0 then p # get else get (p # restore) (n-1);;
let p = new backup_ref 0 in
p # save; p # set 1; p # save; p # set 2;
@@ -1078,7 +1078,7 @@ class backup =
end;;
\end{caml_example}
\begin{caml_example}
-class ['a] backup_ref x = object inherit ['a] ref x inherit backup end;;
+class ['a] backup_ref x = object inherit ['a] oref x inherit backup end;;
let p = new backup_ref 0 in
p # save; p # set 1; p # save; p # set 2;
[get p 0; get p 1; get p 2; get p 3; get p 4];;
diff --git a/ocamlbuild/.depend b/ocamlbuild/.depend
index d6dda722ed..3b67d873d4 100644
--- a/ocamlbuild/.depend
+++ b/ocamlbuild/.depend
@@ -8,9 +8,9 @@ exit_codes.cmi :
fda.cmi : slurp.cmi
findlib.cmi : signatures.cmi command.cmi
flags.cmi : tags.cmi command.cmi
+glob.cmi : signatures.cmi glob_ast.cmi bool.cmi
glob_ast.cmi : bool.cmi
glob_lexer.cmi : glob_ast.cmi
-glob.cmi : signatures.cmi glob_ast.cmi bool.cmi
hooks.cmi :
hygiene.cmi : slurp.cmi
lexers.cmi : loc.cmi glob.cmi
@@ -20,17 +20,17 @@ main.cmi :
my_std.cmi : signatures.cmi
my_unix.cmi :
ocaml_arch.cmi : signatures.cmi command.cmi
-ocamlbuild_executor.cmi :
-ocamlbuildlight.cmi :
-ocamlbuild.cmi :
-ocamlbuild_plugin.cmi :
-ocamlbuild_unix_plugin.cmi :
-ocamlbuild_where.cmi :
ocaml_compiler.cmi : tags.cmi rule.cmi pathname.cmi command.cmi
ocaml_dependencies.cmi : pathname.cmi
ocaml_specific.cmi :
ocaml_tools.cmi : tags.cmi rule.cmi pathname.cmi command.cmi
ocaml_utils.cmi : tags.cmi pathname.cmi command.cmi
+ocamlbuild.cmi :
+ocamlbuild_executor.cmi :
+ocamlbuild_plugin.cmi :
+ocamlbuild_unix_plugin.cmi :
+ocamlbuild_where.cmi :
+ocamlbuildlight.cmi :
options.cmi : slurp.cmi signatures.cmi command.cmi
param_tags.cmi : tags.cmi loc.cmi
pathname.cmi : signatures.cmi
@@ -75,12 +75,12 @@ findlib.cmx : my_unix.cmx my_std.cmx lexers.cmx const.cmx command.cmx \
findlib.cmi
flags.cmo : tags.cmi param_tags.cmi log.cmi command.cmi bool.cmi flags.cmi
flags.cmx : tags.cmx param_tags.cmx log.cmx command.cmx bool.cmx flags.cmi
+glob.cmo : my_std.cmi glob_lexer.cmi glob_ast.cmi bool.cmi glob.cmi
+glob.cmx : my_std.cmx glob_lexer.cmx glob_ast.cmx bool.cmx glob.cmi
glob_ast.cmo : bool.cmi glob_ast.cmi
glob_ast.cmx : bool.cmx glob_ast.cmi
glob_lexer.cmo : glob_ast.cmi bool.cmi glob_lexer.cmi
glob_lexer.cmx : glob_ast.cmx bool.cmx glob_lexer.cmi
-glob.cmo : my_std.cmi glob_lexer.cmi glob_ast.cmi bool.cmi glob.cmi
-glob.cmx : my_std.cmx glob_lexer.cmx glob_ast.cmx bool.cmx glob.cmi
hooks.cmo : hooks.cmi
hooks.cmx : hooks.cmi
hygiene.cmo : slurp.cmi shell.cmi pathname.cmi options.cmi my_std.cmi \
@@ -111,22 +111,6 @@ my_unix.cmo : my_std.cmi my_unix.cmi
my_unix.cmx : my_std.cmx my_unix.cmi
ocaml_arch.cmo : pathname.cmi my_std.cmi command.cmi ocaml_arch.cmi
ocaml_arch.cmx : pathname.cmx my_std.cmx command.cmx ocaml_arch.cmi
-ocamlbuild_config.cmo :
-ocamlbuild_config.cmx :
-ocamlbuild_executor.cmo : ocamlbuild_executor.cmi
-ocamlbuild_executor.cmx : ocamlbuild_executor.cmi
-ocamlbuildlight.cmo : ocamlbuildlight.cmi
-ocamlbuildlight.cmx : ocamlbuildlight.cmi
-ocamlbuild.cmo : ocamlbuild_unix_plugin.cmi ocamlbuild.cmi
-ocamlbuild.cmx : ocamlbuild_unix_plugin.cmx ocamlbuild.cmi
-ocamlbuild_plugin.cmo : ocamlbuild_plugin.cmi
-ocamlbuild_plugin.cmx : ocamlbuild_plugin.cmi
-ocamlbuild_unix_plugin.cmo : ocamlbuild_executor.cmi my_unix.cmi my_std.cmi \
- exit_codes.cmi ocamlbuild_unix_plugin.cmi
-ocamlbuild_unix_plugin.cmx : ocamlbuild_executor.cmx my_unix.cmx my_std.cmx \
- exit_codes.cmx ocamlbuild_unix_plugin.cmi
-ocamlbuild_where.cmo : ocamlbuild_config.cmo ocamlbuild_where.cmi
-ocamlbuild_where.cmx : ocamlbuild_config.cmx ocamlbuild_where.cmi
ocaml_compiler.cmo : tools.cmi tags.cmi rule.cmi resource.cmi pathname.cmi \
options.cmi ocaml_utils.cmi ocaml_dependencies.cmi ocaml_arch.cmi \
my_std.cmi log.cmi command.cmi ocaml_compiler.cmi
@@ -157,6 +141,22 @@ ocaml_utils.cmo : tools.cmi tags.cmi pathname.cmi param_tags.cmi options.cmi \
ocaml_utils.cmx : tools.cmx tags.cmx pathname.cmx param_tags.cmx options.cmx \
my_std.cmx log.cmx lexers.cmx flags.cmx const.cmx command.cmx \
ocaml_utils.cmi
+ocamlbuild.cmo : ocamlbuild_unix_plugin.cmi ocamlbuild.cmi
+ocamlbuild.cmx : ocamlbuild_unix_plugin.cmx ocamlbuild.cmi
+ocamlbuild_config.cmo :
+ocamlbuild_config.cmx :
+ocamlbuild_executor.cmo : ocamlbuild_executor.cmi
+ocamlbuild_executor.cmx : ocamlbuild_executor.cmi
+ocamlbuild_plugin.cmo : ocamlbuild_plugin.cmi
+ocamlbuild_plugin.cmx : ocamlbuild_plugin.cmi
+ocamlbuild_unix_plugin.cmo : ocamlbuild_executor.cmi my_unix.cmi my_std.cmi \
+ exit_codes.cmi ocamlbuild_unix_plugin.cmi
+ocamlbuild_unix_plugin.cmx : ocamlbuild_executor.cmx my_unix.cmx my_std.cmx \
+ exit_codes.cmx ocamlbuild_unix_plugin.cmi
+ocamlbuild_where.cmo : ocamlbuild_config.cmo ocamlbuild_where.cmi
+ocamlbuild_where.cmx : ocamlbuild_config.cmx ocamlbuild_where.cmi
+ocamlbuildlight.cmo : ocamlbuildlight.cmi
+ocamlbuildlight.cmx : ocamlbuildlight.cmi
options.cmo : shell.cmi ocamlbuild_where.cmi ocamlbuild_config.cmo \
my_std.cmi log.cmi lexers.cmi const.cmo command.cmi options.cmi
options.cmx : shell.cmx ocamlbuild_where.cmx ocamlbuild_config.cmx \
diff --git a/ocamldoc/.depend b/ocamldoc/.depend
index ec461d73de..5a2df26c54 100644
--- a/ocamldoc/.depend
+++ b/ocamldoc/.depend
@@ -1,3 +1,11 @@
+odoc.cmo : ../typing/typedtree.cmi odoc_messages.cmo odoc_info.cmi \
+ odoc_global.cmi odoc_gen.cmi odoc_config.cmi odoc_args.cmi \
+ odoc_analyse.cmi ../utils/misc.cmi ../utils/config.cmi \
+ ../utils/clflags.cmi
+odoc.cmx : ../typing/typedtree.cmx odoc_messages.cmx odoc_info.cmx \
+ odoc_global.cmx odoc_gen.cmx odoc_config.cmx odoc_args.cmx \
+ odoc_analyse.cmx ../utils/misc.cmx ../utils/config.cmx \
+ ../utils/clflags.cmx
odoc_analyse.cmo : ../utils/warnings.cmi ../typing/types.cmi \
../typing/typemod.cmi ../typing/typedtree.cmi ../parsing/syntaxerr.cmi \
../driver/pparse.cmi ../parsing/parse.cmi odoc_types.cmi odoc_text.cmi \
@@ -44,8 +52,6 @@ odoc_class.cmo : ../typing/types.cmi odoc_value.cmo odoc_types.cmi \
odoc_parameter.cmo odoc_name.cmi
odoc_class.cmx : ../typing/types.cmx odoc_value.cmx odoc_types.cmx \
odoc_parameter.cmx odoc_name.cmx
-odoc_comments_global.cmo : odoc_comments_global.cmi
-odoc_comments_global.cmx : odoc_comments_global.cmi
odoc_comments.cmo : odoc_types.cmi odoc_text.cmi odoc_see_lexer.cmo \
odoc_parser.cmi odoc_misc.cmi odoc_messages.cmo odoc_merge.cmi \
odoc_lexer.cmo odoc_global.cmi odoc_cross.cmi odoc_comments_global.cmi \
@@ -54,6 +60,8 @@ odoc_comments.cmx : odoc_types.cmx odoc_text.cmx odoc_see_lexer.cmx \
odoc_parser.cmx odoc_misc.cmx odoc_messages.cmx odoc_merge.cmx \
odoc_lexer.cmx odoc_global.cmx odoc_cross.cmx odoc_comments_global.cmx \
odoc_comments.cmi
+odoc_comments_global.cmo : odoc_comments_global.cmi
+odoc_comments_global.cmx : odoc_comments_global.cmi
odoc_config.cmo : ../utils/config.cmi odoc_config.cmi
odoc_config.cmx : ../utils/config.cmx odoc_config.cmi
odoc_control.cmo :
@@ -144,14 +152,6 @@ odoc_misc.cmo : ../typing/types.cmi ../typing/predef.cmi ../typing/path.cmi \
odoc_misc.cmx : ../typing/types.cmx ../typing/predef.cmx ../typing/path.cmx \
odoc_types.cmx odoc_messages.cmx ../parsing/longident.cmx \
../typing/ctype.cmx ../typing/btype.cmx odoc_misc.cmi
-odoc.cmo : ../typing/typedtree.cmi odoc_messages.cmo odoc_info.cmi \
- odoc_global.cmi odoc_gen.cmi odoc_config.cmi odoc_args.cmi \
- odoc_analyse.cmi ../utils/misc.cmi ../utils/config.cmi \
- ../utils/clflags.cmi
-odoc.cmx : ../typing/typedtree.cmx odoc_messages.cmx odoc_info.cmx \
- odoc_global.cmx odoc_gen.cmx odoc_config.cmx odoc_args.cmx \
- odoc_analyse.cmx ../utils/misc.cmx ../utils/config.cmx \
- ../utils/clflags.cmx
odoc_module.cmo : ../typing/types.cmi odoc_value.cmo odoc_types.cmi \
odoc_type.cmo odoc_name.cmi odoc_extension.cmo odoc_exception.cmo \
odoc_class.cmo
@@ -214,12 +214,12 @@ odoc_texi.cmo : ../typing/types.cmi odoc_to_text.cmo odoc_messages.cmo \
odoc_info.cmi ../parsing/asttypes.cmi
odoc_texi.cmx : ../typing/types.cmx odoc_to_text.cmx odoc_messages.cmx \
odoc_info.cmx ../parsing/asttypes.cmi
-odoc_text_lexer.cmo : odoc_text_parser.cmi odoc_misc.cmi
-odoc_text_lexer.cmx : odoc_text_parser.cmx odoc_misc.cmx
odoc_text.cmo : odoc_types.cmi odoc_text_parser.cmi odoc_text_lexer.cmo \
odoc_text.cmi
odoc_text.cmx : odoc_types.cmx odoc_text_parser.cmx odoc_text_lexer.cmx \
odoc_text.cmi
+odoc_text_lexer.cmo : odoc_text_parser.cmi odoc_misc.cmi
+odoc_text_lexer.cmx : odoc_text_parser.cmx odoc_misc.cmx
odoc_text_parser.cmo : odoc_types.cmi odoc_misc.cmi odoc_text_parser.cmi
odoc_text_parser.cmx : odoc_types.cmx odoc_misc.cmx odoc_text_parser.cmi
odoc_to_text.cmo : odoc_module.cmo odoc_messages.cmo odoc_info.cmi
@@ -238,8 +238,8 @@ odoc_analyse.cmi : odoc_module.cmo odoc_global.cmi
odoc_args.cmi : odoc_gen.cmi
odoc_ast.cmi : ../typing/types.cmi ../typing/typedtree.cmi \
../parsing/parsetree.cmi odoc_sig.cmi odoc_name.cmi odoc_module.cmo
-odoc_comments_global.cmi :
odoc_comments.cmi : odoc_types.cmi odoc_module.cmo
+odoc_comments_global.cmi :
odoc_config.cmi :
odoc_cross.cmi : odoc_types.cmi odoc_module.cmo
odoc_dag2html.cmi : odoc_info.cmi
diff --git a/otherlibs/bigarray/.depend b/otherlibs/bigarray/.depend
index c7bc326030..a1deb36497 100644
--- a/otherlibs/bigarray/.depend
+++ b/otherlibs/bigarray/.depend
@@ -1,27 +1,28 @@
bigarray_stubs.o: bigarray_stubs.c ../../byterun/caml/alloc.h \
- ../../byterun/caml/misc.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/mlvalues.h bigarray.h ../../byterun/caml/config.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/custom.h \
- ../../byterun/caml/fail.h ../../byterun/caml/intext.h \
- ../../byterun/caml/io.h ../../byterun/caml/hash.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h
+ ../../byterun/caml/misc.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/mlvalues.h bigarray.h ../../byterun/caml/config.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/custom.h \
+ ../../byterun/caml/fail.h ../../byterun/caml/intext.h \
+ ../../byterun/caml/io.h ../../byterun/caml/hash.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h
mmap_unix.o: mmap_unix.c bigarray.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/config.h \
- ../../byterun/caml/misc.h ../../byterun/caml/custom.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
- ../../byterun/caml/io.h ../../byterun/caml/sys.h \
- ../../byterun/caml/signals.h
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/config.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/custom.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/io.h ../../byterun/caml/sys.h \
+ ../../byterun/caml/signals.h
mmap_win32.o: mmap_win32.c bigarray.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/config.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/custom.h \
- ../../byterun/caml/fail.h ../../byterun/caml/sys.h ../unix/unixsupport.h
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/config.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/custom.h \
+ ../../byterun/caml/fail.h ../../byterun/caml/sys.h \
+ ../unix/unixsupport.h
bigarray.cmi :
bigarray.cmo : bigarray.cmi
bigarray.cmx : bigarray.cmi
diff --git a/otherlibs/graph/.depend b/otherlibs/graph/.depend
index 30f3dac330..7c37d0e1b5 100644
--- a/otherlibs/graph/.depend
+++ b/otherlibs/graph/.depend
@@ -1,74 +1,118 @@
-color.o: color.c libgraph.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/misc.h
-draw.o: draw.c libgraph.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/misc.h \
- ../../byterun/caml/alloc.h ../../byterun/caml/mlvalues.h
-dump_img.o: dump_img.c libgraph.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/misc.h image.h \
- ../../byterun/caml/alloc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h
-events.o: events.c libgraph.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/misc.h \
- ../../byterun/caml/alloc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/signals.h
-fill.o: fill.c libgraph.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/misc.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/major_gc.h \
- ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
- ../../byterun/caml/address_class.h
-image.o: image.c libgraph.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/misc.h image.h \
- ../../byterun/caml/alloc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/custom.h
-make_img.o: make_img.c libgraph.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/misc.h image.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/major_gc.h \
- ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
- ../../byterun/caml/address_class.h
-open.o: open.c libgraph.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/misc.h \
- ../../byterun/caml/alloc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/callback.h ../../byterun/caml/fail.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h
-point_col.o: point_col.c libgraph.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/misc.h
-sound.o: sound.c libgraph.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/misc.h
-subwindow.o: subwindow.c libgraph.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/misc.h
-text.o: text.c libgraph.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/misc.h \
- ../../byterun/caml/alloc.h ../../byterun/caml/mlvalues.h
+color.o: color.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/compatibility.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/misc.h
+draw.o: draw.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/compatibility.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h
+dump_img.o: dump_img.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/compatibility.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/misc.h image.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
+ ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
+ ../../byterun/caml/address_class.h
+events.o: events.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/compatibility.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/signals.h
+fill.o: fill.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/compatibility.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h
+image.o: image.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/compatibility.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/misc.h image.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/custom.h
+make_img.o: make_img.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/compatibility.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/misc.h image.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h
+open.o: open.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/compatibility.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/callback.h \
+ ../../byterun/caml/fail.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
+ ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
+ ../../byterun/caml/address_class.h
+point_col.o: point_col.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/compatibility.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/misc.h
+sound.o: sound.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/compatibility.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/misc.h
+subwindow.o: subwindow.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/compatibility.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/misc.h
+text.o: text.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/compatibility.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h
graphics.cmi :
graphicsX11.cmi :
graphics.cmo : graphics.cmi
diff --git a/otherlibs/num/.depend b/otherlibs/num/.depend
index c885abf051..ce7cc9b8cf 100644
--- a/otherlibs/num/.depend
+++ b/otherlibs/num/.depend
@@ -1,23 +1,23 @@
+bng.o: bng.c bng.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/compatibility.h bng_amd64.c bng_digit.c
bng_amd64.o: bng_amd64.c
bng_arm64.o: bng_arm64.c
-bng.o: bng.c bng.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/compatibility.h bng_amd64.c bng_digit.c
bng_digit.o: bng_digit.c
bng_ia32.o: bng_ia32.c
bng_ppc.o: bng_ppc.c
bng_sparc.o: bng_sparc.c
nat_stubs.o: nat_stubs.c ../../byterun/caml/alloc.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/config.h ../../byterun/caml/custom.h \
- ../../byterun/caml/intext.h ../../byterun/caml/io.h \
- ../../byterun/caml/fail.h ../../byterun/caml/hash.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/mlvalues.h bng.h nat.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/config.h ../../byterun/caml/custom.h \
+ ../../byterun/caml/intext.h ../../byterun/caml/io.h \
+ ../../byterun/caml/fail.h ../../byterun/caml/hash.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/mlvalues.h bng.h nat.h
arith_flags.cmi :
arith_status.cmi :
big_int.cmi : nat.cmi
diff --git a/otherlibs/str/.depend b/otherlibs/str/.depend
index 1d224311c0..148cb312b5 100644
--- a/otherlibs/str/.depend
+++ b/otherlibs/str/.depend
@@ -1,11 +1,11 @@
strstubs.o: strstubs.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
- ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
- ../../byterun/caml/address_class.h ../../byterun/caml/fail.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
+ ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
+ ../../byterun/caml/address_class.h ../../byterun/caml/fail.h
str.cmi :
str.cmo : str.cmi
str.cmx : str.cmi
diff --git a/otherlibs/systhreads/.depend b/otherlibs/systhreads/.depend
index fb87b4aa97..03da2d853d 100644
--- a/otherlibs/systhreads/.depend
+++ b/otherlibs/systhreads/.depend
@@ -1,18 +1,16 @@
st_stubs.o: st_stubs.c ../../byterun/caml/alloc.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/backtrace.h ../../byterun/caml/exec.h \
- ../../byterun/caml/callback.h ../../byterun/caml/custom.h \
- ../../byterun/caml/fail.h ../../byterun/caml/io.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/misc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/printexc.h ../../byterun/caml/roots.h \
- ../../byterun/caml/memory.h ../../byterun/caml/signals.h \
- ../../byterun/caml/stacks.h ../../byterun/caml/sys.h threads.h \
- st_posix.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/backtrace.h ../../byterun/caml/exec.h \
+ ../../byterun/caml/callback.h ../../byterun/caml/custom.h \
+ ../../byterun/caml/fail.h ../../byterun/caml/io.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/printexc.h ../../byterun/caml/roots.h \
+ ../../byterun/caml/signals.h ../../byterun/caml/stacks.h \
+ ../../byterun/caml/sys.h threads.h st_posix.h
condition.cmi : mutex.cmi
event.cmi :
mutex.cmi :
diff --git a/otherlibs/threads/.depend b/otherlibs/threads/.depend
index 799714fc73..d6bda8ae41 100644
--- a/otherlibs/threads/.depend
+++ b/otherlibs/threads/.depend
@@ -1,17 +1,17 @@
scheduler.o: scheduler.c ../../byterun/caml/alloc.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/backtrace.h ../../byterun/caml/exec.h \
- ../../byterun/caml/callback.h ../../byterun/caml/config.h \
- ../../byterun/caml/fail.h ../../byterun/caml/io.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/misc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/printexc.h ../../byterun/caml/roots.h \
- ../../byterun/caml/memory.h ../../byterun/caml/signals.h \
- ../../byterun/caml/stacks.h ../../byterun/caml/sys.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/backtrace.h ../../byterun/caml/exec.h \
+ ../../byterun/caml/callback.h ../../byterun/caml/config.h \
+ ../../byterun/caml/fail.h ../../byterun/caml/io.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/printexc.h ../../byterun/caml/roots.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/signals.h \
+ ../../byterun/caml/stacks.h ../../byterun/caml/sys.h
condition.cmi : mutex.cmi
event.cmi :
marshal.cmi :
diff --git a/otherlibs/unix/.depend b/otherlibs/unix/.depend
index 4f6a638740..f03f792ae4 100644
--- a/otherlibs/unix/.depend
+++ b/otherlibs/unix/.depend
@@ -1,644 +1,648 @@
accept.o: accept.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h socketaddr.h \
- ../../byterun/caml/misc.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h socketaddr.h \
+ ../../byterun/caml/misc.h
access.o: access.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
- ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
- ../../byterun/caml/address_class.h ../../byterun/caml/signals.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
+ ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
+ ../../byterun/caml/address_class.h ../../byterun/caml/signals.h \
+ unixsupport.h
addrofstr.o: addrofstr.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/fail.h unixsupport.h socketaddr.h \
- ../../byterun/caml/misc.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/fail.h unixsupport.h socketaddr.h \
+ ../../byterun/caml/misc.h
alarm.o: alarm.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
bind.o: bind.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h unixsupport.h socketaddr.h \
- ../../byterun/caml/misc.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h socketaddr.h \
+ ../../byterun/caml/misc.h
chdir.o: chdir.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
chmod.o: chmod.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
chown.o: chown.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
chroot.o: chroot.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
close.o: close.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/signals.h \
- ../../byterun/caml/mlvalues.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/signals.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h
closedir.o: closedir.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
connect.o: connect.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/signals.h unixsupport.h \
- socketaddr.h ../../byterun/caml/misc.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/signals.h \
+ unixsupport.h socketaddr.h ../../byterun/caml/misc.h
cst2constr.o: cst2constr.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/fail.h \
- ../../byterun/caml/mlvalues.h cst2constr.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/mlvalues.h cst2constr.h
cstringv.o: cstringv.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- unixsupport.h
-dup2.o: dup2.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ unixsupport.h
dup.o: dup.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
+dup2.o: dup2.c ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
envir.o: envir.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h
errmsg.o: errmsg.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h
execv.o: execv.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ unixsupport.h
execve.o: execve.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ unixsupport.h
execvp.o: execvp.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ unixsupport.h
exit.o: exit.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
fchmod.o: fchmod.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/signals.h \
+ unixsupport.h
fchown.o: fchown.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/signals.h \
+ unixsupport.h
fcntl.o: fcntl.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h
fork.o: fork.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/debugger.h \
- ../../byterun/caml/mlvalues.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/debugger.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h
ftruncate.o: ftruncate.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/io.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/io.h \
+ ../../byterun/caml/signals.h unixsupport.h
getaddrinfo.o: getaddrinfo.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/misc.h ../../byterun/caml/signals.h unixsupport.h \
- cst2constr.h socketaddr.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/signals.h unixsupport.h \
+ cst2constr.h socketaddr.h
getcwd.o: getcwd.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
getegid.o: getegid.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
geteuid.o: geteuid.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
getgid.o: getgid.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
getgr.o: getgr.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/fail.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ unixsupport.h
getgroups.o: getgroups.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
gethost.o: gethost.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h socketaddr.h \
- ../../byterun/caml/misc.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h socketaddr.h \
+ ../../byterun/caml/misc.h
gethostname.o: gethostname.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
getlogin.o: getlogin.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h
getnameinfo.o: getnameinfo.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h socketaddr.h \
- ../../byterun/caml/misc.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h socketaddr.h \
+ ../../byterun/caml/misc.h
getpeername.o: getpeername.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h unixsupport.h socketaddr.h \
- ../../byterun/caml/misc.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h socketaddr.h \
+ ../../byterun/caml/misc.h
getpid.o: getpid.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
getppid.o: getppid.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
getproto.o: getproto.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ unixsupport.h
getpw.o: getpw.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
- ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
- ../../byterun/caml/address_class.h ../../byterun/caml/fail.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
+ ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
+ ../../byterun/caml/address_class.h ../../byterun/caml/fail.h \
+ unixsupport.h
getserv.o: getserv.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ unixsupport.h
getsockname.o: getsockname.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h unixsupport.h socketaddr.h \
- ../../byterun/caml/misc.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h socketaddr.h \
+ ../../byterun/caml/misc.h
gettimeofday.o: gettimeofday.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
getuid.o: getuid.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
gmtime.o: gmtime.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ unixsupport.h
initgroups.o: initgroups.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
isatty.o: isatty.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
itimer.o: itimer.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ unixsupport.h
kill.o: kill.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/fail.h \
- ../../byterun/caml/mlvalues.h unixsupport.h ../../byterun/caml/signals.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h \
+ ../../byterun/caml/signals.h
link.o: link.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
listen.o: listen.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h
lockf.o: lockf.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/signals.h \
+ unixsupport.h
lseek.o: lseek.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/io.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/io.h \
+ ../../byterun/caml/signals.h unixsupport.h
mkdir.o: mkdir.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
mkfifo.o: mkfifo.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
- ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
- ../../byterun/caml/address_class.h ../../byterun/caml/signals.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
+ ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
+ ../../byterun/caml/address_class.h ../../byterun/caml/signals.h \
+ unixsupport.h
nice.o: nice.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
open.o: open.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
- ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
- ../../byterun/caml/address_class.h ../../byterun/caml/misc.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
+ ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
+ ../../byterun/caml/address_class.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/signals.h unixsupport.h
opendir.o: opendir.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/alloc.h ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/alloc.h ../../byterun/caml/signals.h unixsupport.h
pipe.o: pipe.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h
putenv.o: putenv.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/mlvalues.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h
read.o: read.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
readdir.o: readdir.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/fail.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/signals.h unixsupport.h
readlink.o: readlink.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/alloc.h ../../byterun/caml/fail.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/alloc.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/signals.h unixsupport.h
rename.o: rename.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
rewinddir.o: rewinddir.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h
rmdir.o: rmdir.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
select.o: select.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
sendrecv.o: sendrecv.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h socketaddr.h \
- ../../byterun/caml/misc.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h socketaddr.h \
+ ../../byterun/caml/misc.h
setgid.o: setgid.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
setgroups.o: setgroups.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ unixsupport.h
setsid.o: setsid.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h
setuid.o: setuid.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
shutdown.o: shutdown.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h
signals.o: signals.c ../../byterun/caml/alloc.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/fail.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
- ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
- ../../byterun/caml/address_class.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/fail.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
+ ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
+ ../../byterun/caml/address_class.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/signals.h unixsupport.h
sleep.o: sleep.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/signals.h \
- ../../byterun/caml/mlvalues.h unixsupport.h
-socketaddr.o: socketaddr.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
- ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
- ../../byterun/caml/address_class.h unixsupport.h socketaddr.h \
- ../../byterun/caml/misc.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/signals.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h
socket.o: socket.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h
+socketaddr.o: socketaddr.c ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
+ ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
+ ../../byterun/caml/address_class.h unixsupport.h socketaddr.h \
+ ../../byterun/caml/misc.h
socketpair.o: socketpair.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
sockopt.o: sockopt.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/alloc.h ../../byterun/caml/fail.h unixsupport.h \
- socketaddr.h ../../byterun/caml/misc.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/alloc.h ../../byterun/caml/fail.h unixsupport.h \
+ socketaddr.h ../../byterun/caml/misc.h
stat.o: stat.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/alloc.h ../../byterun/caml/signals.h \
- ../../byterun/caml/io.h unixsupport.h cst2constr.h nanosecond_stat.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/alloc.h ../../byterun/caml/signals.h \
+ ../../byterun/caml/io.h unixsupport.h cst2constr.h nanosecond_stat.h
strofaddr.o: strofaddr.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h \
- socketaddr.h ../../byterun/caml/misc.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h \
+ socketaddr.h ../../byterun/caml/misc.h
symlink.o: symlink.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
- ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
- ../../byterun/caml/address_class.h ../../byterun/caml/signals.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
+ ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
+ ../../byterun/caml/address_class.h ../../byterun/caml/signals.h \
+ unixsupport.h
termios.o: termios.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h unixsupport.h
time.o: time.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h unixsupport.h
times.o: times.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
- ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
- ../../byterun/caml/address_class.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
+ ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
+ ../../byterun/caml/address_class.h unixsupport.h
truncate.o: truncate.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/fail.h ../../byterun/caml/signals.h \
- ../../byterun/caml/io.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/fail.h ../../byterun/caml/signals.h \
+ ../../byterun/caml/io.h unixsupport.h
umask.o: umask.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h unixsupport.h
unixsupport.o: unixsupport.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/callback.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/fail.h unixsupport.h cst2constr.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/callback.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/fail.h unixsupport.h cst2constr.h
unlink.o: unlink.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
utimes.o: utimes.c ../../byterun/caml/fail.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
- ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
- ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
- ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
- ../../byterun/caml/address_class.h ../../byterun/caml/signals.h \
- unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/misc.h \
+ ../../byterun/caml/config.h ../../byterun/caml/../../config/m.h \
+ ../../byterun/caml/../../config/s.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/major_gc.h \
+ ../../byterun/caml/freelist.h ../../byterun/caml/minor_gc.h \
+ ../../byterun/caml/address_class.h ../../byterun/caml/signals.h \
+ unixsupport.h
wait.o: wait.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
- ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
- ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/alloc.h \
+ ../../byterun/caml/mlvalues.h ../../byterun/caml/fail.h \
+ ../../byterun/caml/memory.h ../../byterun/caml/gc.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
write.o: write.c ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
- ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
- ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
- ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
- ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
- ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
- ../../byterun/caml/signals.h unixsupport.h
-unixLabels.cmi : unix.cmi
+ ../../byterun/caml/compatibility.h ../../byterun/caml/config.h \
+ ../../byterun/caml/../../config/m.h ../../byterun/caml/../../config/s.h \
+ ../../byterun/caml/misc.h ../../byterun/caml/memory.h \
+ ../../byterun/caml/gc.h ../../byterun/caml/mlvalues.h \
+ ../../byterun/caml/major_gc.h ../../byterun/caml/freelist.h \
+ ../../byterun/caml/minor_gc.h ../../byterun/caml/address_class.h \
+ ../../byterun/caml/signals.h unixsupport.h
unix.cmi :
-unixLabels.cmo : unix.cmi unixLabels.cmi
-unixLabels.cmx : unix.cmx unixLabels.cmi
+unixLabels.cmi : unix.cmi
unix.cmo : unix.cmi
unix.cmx : unix.cmi
+unixLabels.cmo : unix.cmi unixLabels.cmi
+unixLabels.cmx : unix.cmx unixLabels.cmi
diff --git a/stdlib/.depend b/stdlib/.depend
index dd73d7f589..157adaaf36 100644
--- a/stdlib/.depend
+++ b/stdlib/.depend
@@ -93,8 +93,8 @@ format.cmo : string.cmi pervasives.cmi camlinternalFormatBasics.cmi \
camlinternalFormat.cmi buffer.cmi format.cmi
format.cmx : string.cmx pervasives.cmx camlinternalFormatBasics.cmx \
camlinternalFormat.cmx buffer.cmx format.cmi
-gc.cmo : sys.cmi printf.cmi gc.cmi
-gc.cmx : sys.cmx printf.cmx gc.cmi
+gc.cmo : sys.cmi string.cmi printf.cmi gc.cmi
+gc.cmx : sys.cmx string.cmx printf.cmx gc.cmi
genlex.cmo : string.cmi stream.cmi list.cmi hashtbl.cmi char.cmi bytes.cmi \
genlex.cmi
genlex.cmx : string.cmx stream.cmx list.cmx hashtbl.cmx char.cmx bytes.cmx \
@@ -123,8 +123,8 @@ moreLabels.cmo : set.cmi map.cmi hashtbl.cmi moreLabels.cmi
moreLabels.cmx : set.cmx map.cmx hashtbl.cmx moreLabels.cmi
nativeint.cmo : sys.cmi pervasives.cmi nativeint.cmi
nativeint.cmx : sys.cmx pervasives.cmx nativeint.cmi
-obj.cmo : marshal.cmi int32.cmi array.cmi obj.cmi
-obj.cmx : marshal.cmx int32.cmx array.cmx obj.cmi
+obj.cmo : marshal.cmi int32.cmi obj.cmi
+obj.cmx : marshal.cmx int32.cmx obj.cmi
oo.cmo : camlinternalOO.cmi oo.cmi
oo.cmx : camlinternalOO.cmx oo.cmi
parsing.cmo : obj.cmi lexing.cmi array.cmi parsing.cmi
@@ -141,14 +141,14 @@ printf.cmx : camlinternalFormatBasics.cmx camlinternalFormat.cmx buffer.cmx \
printf.cmi
queue.cmo : queue.cmi
queue.cmx : queue.cmi
-random.cmo : pervasives.cmi nativeint.cmi int64.cmi int32.cmi digest.cmi \
- char.cmi array.cmi random.cmi
-random.cmx : pervasives.cmx nativeint.cmx int64.cmx int32.cmx digest.cmx \
- char.cmx array.cmx random.cmi
-scanf.cmo : weak.cmi string.cmi printf.cmi pervasives.cmi hashtbl.cmi \
+random.cmo : string.cmi pervasives.cmi nativeint.cmi int64.cmi int32.cmi \
+ digest.cmi char.cmi array.cmi random.cmi
+random.cmx : string.cmx pervasives.cmx nativeint.cmx int64.cmx int32.cmx \
+ digest.cmx char.cmx array.cmx random.cmi
+scanf.cmo : string.cmi printf.cmi pervasives.cmi list.cmi \
camlinternalFormatBasics.cmi camlinternalFormat.cmi bytes.cmi buffer.cmi \
scanf.cmi
-scanf.cmx : weak.cmx string.cmx printf.cmx pervasives.cmx hashtbl.cmx \
+scanf.cmx : string.cmx printf.cmx pervasives.cmx list.cmx \
camlinternalFormatBasics.cmx camlinternalFormat.cmx bytes.cmx buffer.cmx \
scanf.cmi
set.cmo : list.cmi set.cmi
@@ -219,8 +219,8 @@ format.cmo : string.cmi pervasives.cmi camlinternalFormatBasics.cmi \
camlinternalFormat.cmi buffer.cmi format.cmi
format.p.cmx : string.cmx pervasives.cmx camlinternalFormatBasics.cmx \
camlinternalFormat.cmx buffer.cmx format.cmi
-gc.cmo : sys.cmi printf.cmi gc.cmi
-gc.p.cmx : sys.cmx printf.cmx gc.cmi
+gc.cmo : sys.cmi string.cmi printf.cmi gc.cmi
+gc.p.cmx : sys.cmx string.cmx printf.cmx gc.cmi
genlex.cmo : string.cmi stream.cmi list.cmi hashtbl.cmi char.cmi bytes.cmi \
genlex.cmi
genlex.p.cmx : string.cmx stream.cmx list.cmx hashtbl.cmx char.cmx bytes.cmx \
@@ -249,8 +249,8 @@ moreLabels.cmo : set.cmi map.cmi hashtbl.cmi moreLabels.cmi
moreLabels.p.cmx : set.cmx map.cmx hashtbl.cmx moreLabels.cmi
nativeint.cmo : sys.cmi pervasives.cmi nativeint.cmi
nativeint.p.cmx : sys.cmx pervasives.cmx nativeint.cmi
-obj.cmo : marshal.cmi int32.cmi array.cmi obj.cmi
-obj.p.cmx : marshal.cmx int32.cmx array.cmx obj.cmi
+obj.cmo : marshal.cmi int32.cmi obj.cmi
+obj.p.cmx : marshal.cmx int32.cmx obj.cmi
oo.cmo : camlinternalOO.cmi oo.cmi
oo.p.cmx : camlinternalOO.cmx oo.cmi
parsing.cmo : obj.cmi lexing.cmi array.cmi parsing.cmi
@@ -267,14 +267,14 @@ printf.p.cmx : camlinternalFormatBasics.cmx camlinternalFormat.cmx buffer.cmx \
printf.cmi
queue.cmo : queue.cmi
queue.p.cmx : queue.cmi
-random.cmo : pervasives.cmi nativeint.cmi int64.cmi int32.cmi digest.cmi \
- char.cmi array.cmi random.cmi
-random.p.cmx : pervasives.cmx nativeint.cmx int64.cmx int32.cmx digest.cmx \
- char.cmx array.cmx random.cmi
-scanf.cmo : weak.cmi string.cmi printf.cmi pervasives.cmi hashtbl.cmi \
+random.cmo : string.cmi pervasives.cmi nativeint.cmi int64.cmi int32.cmi \
+ digest.cmi char.cmi array.cmi random.cmi
+random.p.cmx : string.cmx pervasives.cmx nativeint.cmx int64.cmx int32.cmx \
+ digest.cmx char.cmx array.cmx random.cmi
+scanf.cmo : string.cmi printf.cmi pervasives.cmi list.cmi \
camlinternalFormatBasics.cmi camlinternalFormat.cmi bytes.cmi buffer.cmi \
scanf.cmi
-scanf.p.cmx : weak.cmx string.cmx printf.cmx pervasives.cmx hashtbl.cmx \
+scanf.p.cmx : string.cmx printf.cmx pervasives.cmx list.cmx \
camlinternalFormatBasics.cmx camlinternalFormat.cmx bytes.cmx buffer.cmx \
scanf.cmi
set.cmo : list.cmi set.cmi
diff --git a/stdlib/Makefile b/stdlib/Makefile
index 92fa3740ea..2cd5dc05dd 100644
--- a/stdlib/Makefile
+++ b/stdlib/Makefile
@@ -45,16 +45,18 @@ installopt-prof:
stdlib.p.cmxa: $(OBJS:.cmo=.p.cmx)
$(CAMLOPT) -a -o stdlib.p.cmxa $(OBJS:.cmo=.p.cmx)
-camlheader target_camlheader camlheaderd target_camlheaderd camlheader_ur: \
+camlheader target_camlheader camlheader_ur \
+camlheaderd target_camlheaderd \
+camlheaderi target_camlheaderi: \
header.c ../config/Makefile
if $(SHARPBANGSCRIPTS); then \
- echo '#!$(BINDIR)/ocamlrun' > camlheader && \
- echo '#!$(TARGET_BINDIR)/ocamlrun' > target_camlheader && \
- echo '#!$(BINDIR)/ocamlrund' > camlheaderd && \
- echo '#!$(TARGET_BINDIR)/ocamlrund' > target_camlheaderd && \
+ for suff in '' d i; do \
+ echo '#!$(BINDIR)/ocamlrun'$$suff > camlheader$$suff && \
+ echo '#!$(TARGET_BINDIR)/ocamlrun'$$suff > target_camlheader$$suff; \
+ done && \
echo '#!' | tr -d '\012' > camlheader_ur; \
else \
- for suff in '' d; do \
+ for suff in '' d i; do \
$(BYTECC) $(BYTECCCOMPOPTS) $(BYTECCLINKOPTS) \
-DRUNTIME_NAME='"$(BINDIR)/ocamlrun'$$suff'"' \
header.c -o tmpheader$(EXE) && \
diff --git a/stdlib/Makefile.nt b/stdlib/Makefile.nt
index 5bc2e0edfa..7aa9c40da7 100644
--- a/stdlib/Makefile.nt
+++ b/stdlib/Makefile.nt
@@ -34,5 +34,11 @@ camlheaderd target_camlheaderd: headernt.c ../config/Makefile
mv tmpheader.exe camlheaderd
cp camlheaderd target_camlheaderd
+camlheaderi: headernt.c ../config/Makefile
+ $(BYTECC) $(BYTECCCOMPOPTS) -c -I../byterun \
+ -DRUNTIME_NAME='"ocamlruni"' headernt.c
+ $(MKEXE) -o tmpheader.exe headernt.$(O) $(EXTRALIBS)
+ mv tmpheader.exe camlheaderi
+
# TODO: do not call flexlink to build tmpheader.exe (we don't need
# the export table)
diff --git a/stdlib/Makefile.shared b/stdlib/Makefile.shared
index e6b81c9420..46e8b0fb2c 100755
--- a/stdlib/Makefile.shared
+++ b/stdlib/Makefile.shared
@@ -25,8 +25,8 @@ CAMLOPT=$(CAMLRUN) $(OPTCOMPILER)
CAMLDEP=$(CAMLRUN) ../tools/ocamldep
OBJS=camlinternalFormatBasics.cmo pervasives.cmo $(OTHERS)
-OTHERS=array.cmo list.cmo char.cmo bytes.cmo string.cmo sys.cmo \
- sort.cmo marshal.cmo obj.cmo \
+OTHERS=list.cmo char.cmo bytes.cmo string.cmo sys.cmo \
+ sort.cmo marshal.cmo obj.cmo array.cmo \
int32.cmo int64.cmo nativeint.cmo \
lexing.cmo parsing.cmo \
set.cmo map.cmo stack.cmo queue.cmo \
@@ -43,20 +43,32 @@ OTHERS=array.cmo list.cmo char.cmo bytes.cmo string.cmo sys.cmo \
all: stdlib.cma std_exit.cmo camlheader target_camlheader camlheader_ur
+ifeq "$(RUNTIMED)" "runtimed"
+all: camlheaderd
+endif
+
+ifeq "$(RUNTIMEI)" "true"
+all: camlheaderi
+endif
+
INSTALL_LIBDIR=$(DESTDIR)$(LIBDIR)
-install: install-$(RUNTIMED)
+install::
cp stdlib.cma std_exit.cmo *.cmi *.cmt *.cmti *.mli *.ml \
camlheader_ur \
$(INSTALL_LIBDIR)
cp target_camlheader $(INSTALL_LIBDIR)/camlheader
-install-noruntimed:
-.PHONY: install-noruntimed
+ifeq "$(RUNTIMED)" "runtimed"
+install::
+ cp target_camlheaderd $(INSTALL_LIBDIR)
+endif
+
+ifeq "$(RUNTIMEI)" "true"
+install::
+ cp target_camlheaderi $(INSTALL_LIBDIR)
+endif
-install-runtimed: target_camlheaderd
- cp target_camlheaderd $(INSTALL_LIBDIR)/camlheaderd
-.PHONY: install-runtimed
stdlib.cma: $(OBJS)
$(CAMLC) -a -o stdlib.cma $(OBJS)
@@ -71,7 +83,7 @@ clean::
rm -f sys.ml
clean::
- rm -f camlheader target_camlheader camlheader_ur target_camlheaderd
+ rm -f camlheader target_camlheader camlheader_ur target_camlheader[di]
.SUFFIXES: .mli .ml .cmi .cmo .cmx .p.cmx
@@ -104,6 +116,7 @@ $(OTHERS:.cmo=.p.cmx) std_exit.p.cmx: pervasives.cmx
clean::
rm -f *.cm* *.$(O) *.$(A)
rm -f *~
+ rm -f camlheader*
include .depend
diff --git a/stdlib/gc.ml b/stdlib/gc.ml
index 39bf343db4..f3a11ab684 100644
--- a/stdlib/gc.ml
+++ b/stdlib/gc.ml
@@ -38,6 +38,7 @@ type control = {
mutable max_overhead : int;
mutable stack_limit : int;
mutable allocation_policy : int;
+ window_size : int;
};;
external stat : unit -> stat = "caml_gc_stat";;
@@ -50,26 +51,35 @@ external major_slice : int -> int = "caml_gc_major_slice";;
external major : unit -> unit = "caml_gc_major";;
external full_major : unit -> unit = "caml_gc_full_major";;
external compact : unit -> unit = "caml_gc_compaction";;
+external get_minor_free : unit -> int = "caml_get_minor_free" [@@noalloc]
+external get_bucket : int -> int = "caml_get_major_bucket" [@@noalloc]
+external get_credit : unit -> int = "caml_get_major_credit" [@@noalloc]
+external huge_fallback_count : unit -> int = "caml_gc_huge_fallback_count"
open Printf;;
let print_stat c =
let st = stat () in
- fprintf c "minor_words: %.0f\n" st.minor_words;
- fprintf c "promoted_words: %.0f\n" st.promoted_words;
- fprintf c "major_words: %.0f\n" st.major_words;
fprintf c "minor_collections: %d\n" st.minor_collections;
fprintf c "major_collections: %d\n" st.major_collections;
- fprintf c "heap_words: %d\n" st.heap_words;
- fprintf c "heap_chunks: %d\n" st.heap_chunks;
- fprintf c "top_heap_words: %d\n" st.top_heap_words;
- fprintf c "live_words: %d\n" st.live_words;
+ fprintf c "compactions: %d\n" st.compactions;
+ fprintf c "\n";
+ let l1 = String.length (sprintf "%.0f" st.minor_words) in
+ fprintf c "minor_words: %*.0f\n" l1 st.minor_words;
+ fprintf c "promoted_words: %*.0f\n" l1 st.promoted_words;
+ fprintf c "major_words: %*.0f\n" l1 st.major_words;
+ fprintf c "\n";
+ let l2 = String.length (sprintf "%d" st.top_heap_words) in
+ fprintf c "top_heap_words: %*d\n" l2 st.top_heap_words;
+ fprintf c "heap_words: %*d\n" l2 st.heap_words;
+ fprintf c "live_words: %*d\n" l2 st.live_words;
+ fprintf c "free_words: %*d\n" l2 st.free_words;
+ fprintf c "largest_free: %*d\n" l2 st.largest_free;
+ fprintf c "fragments: %*d\n" l2 st.fragments;
+ fprintf c "\n";
fprintf c "live_blocks: %d\n" st.live_blocks;
- fprintf c "free_words: %d\n" st.free_words;
fprintf c "free_blocks: %d\n" st.free_blocks;
- fprintf c "largest_free: %d\n" st.largest_free;
- fprintf c "fragments: %d\n" st.fragments;
- fprintf c "compactions: %d\n" st.compactions;
+ fprintf c "heap_chunks: %d\n" st.heap_chunks;
;;
let allocated_bytes () =
diff --git a/stdlib/gc.mli b/stdlib/gc.mli
index 15fe0327c5..c58bc5f22a 100644
--- a/stdlib/gc.mli
+++ b/stdlib/gc.mli
@@ -141,6 +141,12 @@ type control =
first-fit policy, which can be slower in some cases but
can be better for programs with fragmentation problems.
Default: 0. @since 3.11.0 *)
+
+ window_size : int;
+ (** The size of the window used by the major GC for smoothing
+ out variations in its workload. This is an integer between
+ 1 and 50.
+ Default: 1. @since 4.03.0 *)
}
(** The GC parameters are given as a [control] record. Note that
these parameters can also be initialised by setting the
@@ -173,9 +179,13 @@ external minor : unit -> unit = "caml_gc_minor"
(** Trigger a minor collection. *)
external major_slice : int -> int = "caml_gc_major_slice";;
-(** Do a minor collection and a slice of major collection. The argument
- is the size of the slice, 0 to use the automatically-computed
- slice size. In all cases, the result is the computed slice size. *)
+(** [major_slice n]
+ Do a minor collection and a slice of major collection. [n] is the
+ size of the slice: the GC will do enough work to free (on average)
+ [n] words of memory. If [n] = 0, the GC will try to do enough work
+ to ensure that the next slice has no work to do.
+ Return an approximation of the work that the next slice will have
+ to do. *)
external major : unit -> unit = "caml_gc_major"
(** Do a minor collection and finish the current major collection cycle. *)
@@ -198,6 +208,25 @@ val allocated_bytes : unit -> float
started. It is returned as a [float] to avoid overflow problems
with [int] on 32-bit machines. *)
+external get_minor_free : unit -> int = "caml_get_minor_free" [@@noalloc]
+(** Return the current size of the free space inside the minor heap. *)
+
+external get_bucket : int -> int = "caml_get_major_bucket" [@@noalloc]
+(** [get_bucket n] returns the current size of the [n]-th future bucket
+ of the GC smoothing system. The unit is one millionth of a full GC.
+ Raise [Invalid_argument] if [n] is negative, return 0 if n is larger
+ than the smoothing window. *)
+
+external get_credit : unit -> int = "caml_get_major_credit" [@@noalloc]
+(** [get_credit ()] returns the current size of the "work done in advance"
+ counter of the GC smoothing system. The unit is one millionth of a
+ full GC. *)
+
+external huge_fallback_count : unit -> int = "caml_gc_huge_fallback_count"
+(** Return the number of times we tried to map huge pages and had to fall
+ back to small pages. This is always 0 if [OCAMLRUNPARAM] contains [H=1].
+ @since 4.03.0 *)
+
val finalise : ('a -> unit) -> 'a -> unit
(** [finalise f v] registers [f] as a finalisation function for [v].
[v] must be heap-allocated. [f] will be called with [v] as
diff --git a/stdlib/obj.ml b/stdlib/obj.ml
index 76a4e67b54..af37d42896 100644
--- a/stdlib/obj.ml
+++ b/stdlib/obj.ml
@@ -25,8 +25,10 @@ external set_tag : t -> int -> unit = "caml_obj_set_tag"
external size : t -> int = "%obj_size"
external field : t -> int -> t = "%obj_field"
external set_field : t -> int -> t -> unit = "%obj_set_field"
-let double_field x i = Array.get (obj x : float array) i
-let set_double_field x i v = Array.set (obj x : float array) i v
+external array_get: 'a array -> int -> 'a = "%array_safe_get"
+external array_set: 'a array -> int -> 'a -> unit = "%array_safe_set"
+let double_field x i = array_get (obj x : float array) i
+let set_double_field x i v = array_set (obj x : float array) i v
external new_block : int -> int -> t = "caml_obj_block"
external dup : t -> t = "caml_obj_dup"
external truncate : t -> int -> unit = "caml_obj_truncate"
diff --git a/stdlib/sys.mli b/stdlib/sys.mli
index 4e3f72a187..b038eb02e0 100644
--- a/stdlib/sys.mli
+++ b/stdlib/sys.mli
@@ -119,6 +119,17 @@ val max_array_length : int
array is [max_array_length/2] on 32-bit machines and
[max_array_length] on 64-bit machines. *)
+external runtime_variant : unit -> string = "caml_runtime_variant"
+(** Return the name of the runtime variant the program is running on.
+ This is normally the argument given to [-runtime-variant] at compile
+ time, but for byte-code it can be changed after compilation.
+ @since 4.03.0 *)
+
+external runtime_parameters : unit -> string = "caml_runtime_parameters"
+(** Return the value of the runtime parameters, in the same format
+ as the contents of the [OCAMLRUNPARAM] environment variable.
+ @since 4.03.0 *)
+
(** {6 Signal handling} *)
diff --git a/stdlib/sys.mlp b/stdlib/sys.mlp
index 67a7d02f21..a0e8ff72cf 100644
--- a/stdlib/sys.mlp
+++ b/stdlib/sys.mlp
@@ -37,6 +37,8 @@ let win32 = win32 ()
let cygwin = cygwin ()
let max_array_length = max_wosize ()
let max_string_length = word_size / 8 * max_array_length - 1;;
+external runtime_variant : unit -> string = "caml_runtime_variant"
+external runtime_parameters : unit -> string = "caml_runtime_parameters"
external file_exists: string -> bool = "caml_sys_file_exists"
external is_directory : string -> bool = "caml_sys_is_directory"
diff --git a/testsuite/tests/asmcomp/main.ml b/testsuite/tests/asmcomp/main.ml
index 82b699e7dd..7acef85a64 100644
--- a/testsuite/tests/asmcomp/main.ml
+++ b/testsuite/tests/asmcomp/main.ml
@@ -14,7 +14,7 @@ open Clflags
let compile_file filename =
Clflags.dlcode := false;
- Compilenv.reset "test";
+ Compilenv.reset ~source_provenance:(Timings.File filename) "test";
Emit.begin_assembly();
let ic = open_in filename in
let lb = Lexing.from_channel ic in
diff --git a/testsuite/tests/typing-gadts/pr5948.ml.reference b/testsuite/tests/typing-gadts/pr5948.ml.reference
index 7d77421206..597cbfa628 100644
--- a/testsuite/tests/typing-gadts/pr5948.ml.reference
+++ b/testsuite/tests/typing-gadts/pr5948.ml.reference
@@ -13,7 +13,8 @@ val intB : [< `TagB ] -> int = <fun>
^^^^
Error: This expression has type ([< `TagA of 'b ] as 'a) -> 'b
but an expression was expected of type a -> int
- Type 'a is not compatible with type a = [< `TagA of int | `TagB ]
+ Type [< `TagA of 'b ] as 'a is not compatible with type
+ a = [< `TagA of int | `TagB ]
The first variant type does not allow tag(s) `TagB
# Characters 10-18:
let _ = example6 (WrapPoly AandBTags) `TagB (* This causes a seg fault *)
diff --git a/testsuite/tests/typing-misc/pr7103.ml b/testsuite/tests/typing-misc/pr7103.ml
new file mode 100644
index 0000000000..bdca4b343d
--- /dev/null
+++ b/testsuite/tests/typing-misc/pr7103.ml
@@ -0,0 +1,14 @@
+type 'a t
+type a
+
+let f : < .. > t -> unit = fun _ -> ();;
+
+let g : [< `b] t -> unit = fun _ -> ();;
+
+let h : [> `b] t -> unit = fun _ -> ();;
+
+let _ = fun (x : a t) -> f x;;
+
+let _ = fun (x : a t) -> g x;;
+
+let _ = fun (x : a t) -> h x;;
diff --git a/testsuite/tests/typing-misc/pr7103.ml.reference b/testsuite/tests/typing-misc/pr7103.ml.reference
new file mode 100644
index 0000000000..e74570636a
--- /dev/null
+++ b/testsuite/tests/typing-misc/pr7103.ml.reference
@@ -0,0 +1,25 @@
+
+# type 'a t
+type a
+val f : < .. > t -> unit = <fun>
+# val g : [< `b ] t -> unit = <fun>
+# val h : [> `b ] t -> unit = <fun>
+# Characters 28-29:
+ let _ = fun (x : a t) -> f x;;
+ ^
+Error: This expression has type a t but an expression was expected of type
+ (< .. > as 'a) t
+ Type a is not compatible with type < .. > as 'a
+# Characters 28-29:
+ let _ = fun (x : a t) -> g x;;
+ ^
+Error: This expression has type a t but an expression was expected of type
+ ([< `b ] as 'a) t
+ Type a is not compatible with type [< `b ] as 'a
+# Characters 28-29:
+ let _ = fun (x : a t) -> h x;;
+ ^
+Error: This expression has type a t but an expression was expected of type
+ ([> `b ] as 'a) t
+ Type a is not compatible with type [> `b ] as 'a
+#
diff --git a/testsuite/tests/warnings/w53.ml b/testsuite/tests/warnings/w53.ml
index 20e4c674a5..9d77c3cca6 100644
--- a/testsuite/tests/warnings/w53.ml
+++ b/testsuite/tests/warnings/w53.ml
@@ -13,3 +13,19 @@ let n x = x [@ocaml.tailcall] (* rejected *)
let o x = (h [@tailcall]) x (* accepted *)
let p x = (h [@ocaml.tailcall]) x (* accepted *)
let q x = h x [@tailcall] (* rejected *)
+
+module type E = sig end
+
+module A(E:E) = struct end [@@inline] (* accepted *)
+module A'(E:E) = struct end [@@ocaml.inline] (* accepted *)
+module B = ((functor (E:E) -> struct end) [@inline]) (* accepted *)
+module B' = ((functor (E:E) -> struct end) [@ocaml.inline]) (* accepted *)
+module C = struct end [@@inline] (* rejected *)
+module C' = struct end [@@ocaml.inline] (* rejected *)
+module D = struct end [@@inlined] (* rejected *)
+module D' = struct end [@@ocaml.inlined] (* rejected *)
+
+module F = (A [@inlined])(struct end) (* accepted *)
+module F' = (A [@ocaml.inlined])(struct end) (* accepted *)
+module G = (A [@inline])(struct end) (* rejected *)
+module G' = (A [@ocaml.inline])(struct end) (* rejected *)
diff --git a/testsuite/tests/warnings/w53.reference b/testsuite/tests/warnings/w53.reference
index 8e21703cb6..0f70e50406 100644
--- a/testsuite/tests/warnings/w53.reference
+++ b/testsuite/tests/warnings/w53.reference
@@ -1,5 +1,13 @@
File "w53.ml", line 2, characters 4-5:
Warning 32: unused value h.
+File "w53.ml", line 31, characters 17-29:
+Warning 53: the "ocaml.inline" attribute cannot appear in this context
+File "w53.ml", line 30, characters 16-22:
+Warning 53: the "inline" attribute cannot appear in this context
+File "w53.ml", line 24, characters 0-39:
+Warning 53: the "inline" attribute cannot appear in this context
+File "w53.ml", line 23, characters 0-32:
+Warning 53: the "inline" attribute cannot appear in this context
File "w53.ml", line 15, characters 16-24:
Warning 53: the "tailcall" attribute cannot appear in this context
File "w53.ml", line 12, characters 14-28:
diff --git a/tools/.depend b/tools/.depend
index b3f23fba6f..8a06516ed6 100644
--- a/tools/.depend
+++ b/tools/.depend
@@ -19,11 +19,11 @@ cmt2annot.cmx : ../typing/untypeast.cmx ../typing/types.cmx \
cvt_emit.cmo :
cvt_emit.cmx :
depend.cmo : ../parsing/parsetree.cmi ../utils/misc.cmi \
- ../parsing/longident.cmi ../parsing/location.cmi ../parsing/asttypes.cmi \
- depend.cmi
+ ../parsing/longident.cmi ../parsing/location.cmi ../utils/clflags.cmi \
+ ../parsing/asttypes.cmi depend.cmi
depend.cmx : ../parsing/parsetree.cmi ../utils/misc.cmx \
- ../parsing/longident.cmx ../parsing/location.cmx ../parsing/asttypes.cmi \
- depend.cmi
+ ../parsing/longident.cmx ../parsing/location.cmx ../utils/clflags.cmx \
+ ../parsing/asttypes.cmi depend.cmi
dumpobj.cmo : ../utils/tbl.cmi opnames.cmo ../bytecomp/opcodes.cmo \
../parsing/location.cmi ../bytecomp/lambda.cmi ../bytecomp/instruct.cmi \
../typing/ident.cmi ../utils/config.cmi ../bytecomp/cmo_format.cmi \
@@ -56,10 +56,10 @@ ocamldep.cmx : ../driver/pparse.cmx ../parsing/parsetree.cmi \
../parsing/parser.cmx ../parsing/parse.cmx ../utils/misc.cmx \
../parsing/longident.cmx ../parsing/location.cmx ../parsing/lexer.cmx \
depend.cmx ../utils/config.cmx ../driver/compenv.cmx ../utils/clflags.cmx
-ocamlmklibconfig.cmo :
-ocamlmklibconfig.cmx :
ocamlmklib.cmo : ocamlmklibconfig.cmo
ocamlmklib.cmx : ocamlmklibconfig.cmx
+ocamlmklibconfig.cmo :
+ocamlmklibconfig.cmx :
ocamlmktop.cmo : ../utils/ccomp.cmi
ocamlmktop.cmx : ../utils/ccomp.cmx
ocamloptp.cmo : ../driver/main_args.cmi
diff --git a/tools/Makefile.shared b/tools/Makefile.shared
index 1761d30866..7ba8f287ca 100644
--- a/tools/Makefile.shared
+++ b/tools/Makefile.shared
@@ -35,7 +35,7 @@ opt.opt: ocamldep.opt read_cmt.opt
# The dependency generator
CAMLDEP_OBJ=depend.cmo ocamldep.cmo
-CAMLDEP_IMPORTS=misc.cmo config.cmo clflags.cmo terminfo.cmo \
+CAMLDEP_IMPORTS=timings.cmo misc.cmo config.cmo clflags.cmo terminfo.cmo \
warnings.cmo location.cmo longident.cmo docstrings.cmo \
syntaxerr.cmo ast_helper.cmo parser.cmo lexer.cmo parse.cmo \
ccomp.cmo ast_mapper.cmo pparse.cmo compenv.cmo builtin_attributes.cmo
@@ -312,6 +312,11 @@ cmpbyt: $(CMPBYT)
clean::
rm -f cmpbyt
+ifeq "$(RUNTIMEI)" "true"
+install::
+ cp ocaml-instr-graph ocaml-instr-report $(INSTALL_BINDIR)/
+endif
+
# Common stuff
.SUFFIXES:
diff --git a/tools/ocaml-instr-graph b/tools/ocaml-instr-graph
new file mode 100755
index 0000000000..1547631ab3
--- /dev/null
+++ b/tools/ocaml-instr-graph
@@ -0,0 +1,109 @@
+#!/bin/bash
+
+#########################################################################
+# #
+# OCaml #
+# #
+# Damien Doligez, Jane Street Group, LLC #
+# #
+# Copyright 2015 Institut National de Recherche en Informatique et #
+# en Automatique. All rights reserved. This file is distributed #
+# under the terms of the Q Public License version 1.0. #
+# #
+#########################################################################
+
+# Use this script on OCAML_INSTR_FILE files
+
+usage () {
+ echo 'usage: ocaml-instr-graph file [options]'
+ echo ' options:'
+ echo ' -d names plot the data for names (default major,minor,coll,dispatch)'
+ echo ' -t title set the graph title'
+ echo ' -m n clip the values to n (default 1G)'
+ echo ' -rt n set the range for times to 0..n'
+ echo ' -rn n set the range for counts to 0..n'
+ echo ' -from t start at time t'
+ echo ' -to t stop at time t'
+ echo ' -help display this help message and exit'
+}
+
+datafile=
+curves=,
+title=
+titleset=false
+max=1000000000
+ranget=
+rangen=
+from=0
+to=1e19
+
+while [[ $# > 0 ]]; do
+ case $1 in
+ -d) curves=$curves$2,; shift 2;;
+ -t) title=$2; titleset=true; shift 2;;
+ -m) max=$2; shift 2;;
+ -rt) ranget="set yrange [0:$2]"; shift 2;;
+ -rn) rangen="set y2range [0:$2]"; shift 2;;
+ -from) from=$2; shift 2;;
+ -to) to=$2; shift 2;;
+ -help) usage; exit 0;;
+ *) datafile=$1; shift 1;;
+ esac
+done
+
+if [[ "$curves" = , ]]; then
+ curves=,major,minor,coll,dispatch,
+fi
+
+if ! $titleset; then
+ title=$datafile
+fi
+
+tmpfile=/tmp/ocaml-instr-graph.$$
+
+rm -f $tmpfile-*
+
+awk -v curves="$curves" -v clip=$max -v tmpfile="$tmpfile" -v from=$from \
+ -v to=$to '
+ function output (filename){
+ time = ($2 - starttime) / 1e9;
+ if (time < from || time >= to) return;
+ if (index(curves, "," filename ",") != 0){
+ gsub (/\//,":",filename);
+ if (filename ~ /#/){
+ point = $3;
+ }else{
+ point = ($3 - $2) / 1000;
+ }
+ if (point > clip) point = clip;
+ printf ("%.6f %.3f\n", time, point) >> tmpfile "-" filename;
+ }
+ }
+ BEGIN {starttime = 9e18;}
+ $1 != "@@" { next; }
+ $2 < starttime { starttime = $2 }
+ { output($4); }
+' $datafile
+
+( echo set title \"$title\"
+ echo set key left top
+ echo set ytics nomirror
+ echo 'set format y "%gus"'
+ echo "$ranget"
+ echo "$rangen"
+ echo set y2tics nomirror
+ echo 'set format x "%gs"'
+ printf "plot "
+ for curve in ${curves//,/ }; do
+ f=$tmpfile-${curve//\//:}
+ if [ -f $f ]; then
+ case $f in
+ *#) printf "\"%s\" using 1:2 axes x1y2 title '%s', " "$f" "$curve";;
+ *) printf "\"%s\" using 1:2 title '%s', " "$f" "$curve";;
+ esac
+ fi
+ done
+ printf "\n"
+) | gnuplot -p
+
+rm -f $tmpfile-*
diff --git a/tools/ocaml-instr-report b/tools/ocaml-instr-report
new file mode 100755
index 0000000000..6e10deaf9f
--- /dev/null
+++ b/tools/ocaml-instr-report
@@ -0,0 +1,159 @@
+#!/bin/awk -f
+
+#########################################################################
+# #
+# OCaml #
+# #
+# Damien Doligez, Jane Street Group, LLC #
+# #
+# Copyright 2014 Institut National de Recherche en Informatique et #
+# en Automatique. All rights reserved. This file is distributed #
+# under the terms of the Q Public License version 1.0. #
+# #
+#########################################################################
+
+# usage:
+# ocaml-instr-report { file ... }
+# generate a report from the data files (or stdin if no file is given)
+
+function short(n, kind, i, r){
+ for (i = 0; i < 5; i++){
+ if (n < 1000) break;
+ n /= 1000;
+ }
+ r = sprintf ("%f", n);
+ if (index(r, ".") == 3){
+ r = substr(r, 1, 2);
+ }else{
+ r = substr(r, 1, 3);
+ }
+ return sprintf("%s%s", r, units[kind,i]);
+}
+
+function add(limit){
+ lim[nscales] = limit;
+ scale["t",nscales] = short(limit, "t");
+ scale["n",nscales] = short(limit, "n");
+ ++ nscales;
+}
+
+# kind is "t" (for timer) or "n" (for number)
+# events are simply a special kind of timer
+
+BEGIN {
+ units["t",0] = "ns";
+ units["t",1] = "us";
+ units["t",2] = "ms";
+ units["t",3] = "s";
+ units["t",4] = "ks";
+ units["t",5] = "Ms";
+
+ units["n",0] = "";
+ units["n",1] = "k";
+ units["n",2] = "M";
+ units["n",3] = "G";
+ units["n",4] = "T";
+ units["n",5] = "P";
+
+ nscales=0;
+ add(0);
+ for (mul = 100; mul < 10000000000; mul *= 10){
+ add(mul);
+ add(2.2 * mul);
+ add(4.7 * mul);
+ }
+}
+
+function store(value, tag) {
+ ++ total[tag];
+ for (i = 0; i < nscales; i++){
+ if (value <= lim[i]){
+ ++ bin[tag, lim[i]];
+ val[tag, lim[i]] = value;
+ return;
+ }
+ }
+ ++ bin[tag, "off-scale"];
+ val[tag, "off-scale"] = value;
+}
+
+$1 == "@@" && $4 ~ /@/ { total[$4] += $3; }
+
+$1 == "@@" && $4 ~ /#/ { store($3, $4); }
+
+$1 == "@@" { store($3 - $2, $4); }
+
+function display(n, val, kind, i) {
+ graph_width = 35;
+
+ if (n > 0){
+ for (i = 0; i < log (n) / log (2); i++){
+ printf("#");
+ }
+ if (n == 1){
+ printf(" %-6d", n);
+ printf ("%-*s", graph_width - 7 - i,
+ sprintf("(%s)", short(val, kind)));
+ }else{
+ printf(" %-*d", graph_width - 1 - i, n);
+ }
+ }else{
+ printf("%*s", graph_width, "");
+ }
+}
+
+END {
+ n = asorti(total,tags);
+ total_alloc = 0;
+ for (i = 1; i <= n; i++){
+ t = tags[i];
+ if (t ~ /^alloc/) total_alloc += total[t];
+ }
+ for (i = 1; i <= n; i++){
+ t = tags[i];
+ if (t ~ /#/){
+ kind = "n"; # number
+ }else if (t ~ /@/){
+ kind = "e"; # event
+ }else{
+ kind = "t"; # timer
+ }
+ if (kind == "e"){
+ printf ("==== %-12s:%9d", t, total[t]);
+ if (t ~ /^alloc/){
+ cumul += total[t] / total_alloc;
+ printf(" (%6.2f%%)", cumul * 100);
+ }
+ printf ("\n");
+ continue;
+ }else{
+ printf ("==== %s: %d\n", t, total[t]);
+ }
+ num = bin[t,0];
+ found = num;
+ if (num == total[t] && kind == "t"){
+ /* nothing */
+ }else if (num > 0){
+ printf (" 0: ");
+ display(bin[t,0], val[t, 0], kind);
+ printf ("%6.2f%%\n", found * 100 / total[t]);
+ }
+ for (j = 1; j < nscales; j++){
+ if (found == total[t]) break;
+ num = bin [t, lim[j]];
+ found += num;
+ if (found > 0){
+ printf ("%5s..%-5s: ", scale[kind,j-1], scale[kind,j]);
+ display(num, val[t, lim[j]], kind);
+ printf ("%6.2f%%\n", found * 100 / total[t]);
+ }
+ }
+ num = bin[t, "off-scale"];
+ if (num != 0){
+ printf (" off scale : ");
+ display(bin[t, "off-scale"], val[t, "off-scale"]);
+ printf ("\n");
+ }
+ printf ("====\n");
+ }
+}
diff --git a/tools/ocamlcp.ml b/tools/ocamlcp.ml
index 74724576db..76f73bc5a6 100644
--- a/tools/ocamlcp.ml
+++ b/tools/ocamlcp.ml
@@ -109,6 +109,7 @@ module Options = Main_args.Make_bytecomp_options (struct
let _drawlambda = option "-drawlambda"
let _dlambda = option "-dlambda"
let _dinstr = option "-dinstr"
+ let _dtimings = option "-dtimings"
let anonymous = process_file
end);;
diff --git a/tools/ocamloptp.ml b/tools/ocamloptp.ml
index 6daaa252ab..9429d65ed6 100644
--- a/tools/ocamloptp.ml
+++ b/tools/ocamloptp.ml
@@ -124,6 +124,7 @@ module Options = Main_args.Make_optcomp_options (struct
let _dscheduling = option "-dscheduling"
let _dlinear = option "-dlinear"
let _dstartup = option "-dstartup"
+ let _dtimings = option "-dtimings"
let _opaque = option "-opaque"
let anonymous = process_file
diff --git a/toplevel/topmain.ml b/toplevel/topmain.ml
index 0d8f2d4c21..991a425576 100644
--- a/toplevel/topmain.ml
+++ b/toplevel/topmain.ml
@@ -96,6 +96,7 @@ module Options = Main_args.Make_bytetop_options (struct
let _dsource = set dump_source
let _drawlambda = set dump_rawlambda
let _dlambda = set dump_lambda
+ let _dtimings = set print_timings
let _dinstr = set dump_instr
let anonymous s = file_argument s
diff --git a/typing/printtyp.ml b/typing/printtyp.ml
index 2a487e23fa..7bc7c75c05 100644
--- a/typing/printtyp.ml
+++ b/typing/printtyp.ml
@@ -1290,7 +1290,9 @@ let same_path t t' =
false
let type_expansion t ppf t' =
- if same_path t t' then type_expr ppf t else
+ if same_path t t'
+ then begin add_delayed (proxy t); type_expr ppf t end
+ else
let t' = if proxy t == proxy t' then unalias t' else t' in
fprintf ppf "@[<2>%a@ =@ %a@]" type_expr t type_expr t'
diff --git a/utils/clflags.ml b/utils/clflags.ml
index 0e6dc345ad..cc89e14eab 100644
--- a/utils/clflags.ml
+++ b/utils/clflags.ml
@@ -117,6 +117,7 @@ let runtime_variant = ref "";; (* -runtime-variant *)
let keep_docs = ref false (* -keep-docs *)
let keep_locs = ref false (* -keep-locs *)
let unsafe_string = ref true;; (* -safe-string / -unsafe-string *)
+let print_timings = ref false (* -dtimings *)
type color_setting = Auto | Always | Never
let parse_color_setting = function
diff --git a/utils/clflags.mli b/utils/clflags.mli
index 4b6d4786ba..61ced07c87 100644
--- a/utils/clflags.mli
+++ b/utils/clflags.mli
@@ -98,6 +98,7 @@ val keep_docs : bool ref
val keep_locs : bool ref
val unsafe_string : bool ref
val opaque : bool ref
+val print_timings : bool ref
type color_setting = Auto | Always | Never
val parse_color_setting : string -> color_setting option
diff --git a/utils/timings.ml b/utils/timings.ml
new file mode 100644
index 0000000000..67e8e66592
--- /dev/null
+++ b/utils/timings.ml
@@ -0,0 +1,139 @@
+(***********************************************************************)
+(* *)
+(* OCaml *)
+(* *)
+(* Pierre Chambart, OCamlPro *)
+(* *)
+(* Copyright 2015 Institut National de Recherche en Informatique et *)
+(* en Automatique. All rights reserved. This file is distributed *)
+(* under the terms of the Q Public License version 1.0. *)
+(* *)
+(***********************************************************************)
+
+type file = string
+
+type source_provenance =
+ | File of file
+ | Pack of string
+ | Startup
+
+type compiler_pass =
+ | All
+ | Parsing of file
+ | Preprocessing of file
+ | Typing of file
+ | Transl of file
+ | Generate of file
+ | Assemble of file
+ | Clambda of file
+ | Cmm of file
+ | Compile_phrases of file
+ | Selection of source_provenance
+ | Comballoc of source_provenance
+ | CSE of source_provenance
+ | Liveness of source_provenance
+ | Deadcode of source_provenance
+ | Spill of source_provenance
+ | Split of source_provenance
+ | Regalloc of source_provenance
+ | Linearize of source_provenance
+ | Scheduling of source_provenance
+ | Emit of source_provenance
+
+let timings : (compiler_pass, float * float option) Hashtbl.t = Hashtbl.create 20
+let reset () = Hashtbl.clear timings
+
+let start pass =
+ (* Cannot assert it is not here: a source file can be compiled
+ multiple times on the same command line *)
+ (* assert(not (Hashtbl.mem timings pass)); *)
+ let time = Sys.time () in
+ Hashtbl.add timings pass (time, None)
+
+let stop pass =
+ assert(Hashtbl.mem timings pass);
+ let time = Sys.time () in
+ let (start, stop) = Hashtbl.find timings pass in
+ assert(stop = None);
+ Hashtbl.replace timings pass (start, Some (time -. start))
+
+let time pass f x =
+ start pass;
+ let r = f x in
+ stop pass;
+ r
+
+let restart pass =
+ let previous_duration =
+ match Hashtbl.find timings pass with
+ | exception Not_found -> 0.
+ | (_, Some duration) -> duration
+ | _, None -> assert false
+ in
+ let time = Sys.time () in
+ Hashtbl.replace timings pass (time, Some previous_duration)
+
+let accumulate pass =
+ let time = Sys.time () in
+ match Hashtbl.find timings pass with
+ | exception Not_found -> assert false
+ | _, None -> assert false
+ | (start, Some duration) ->
+ let duration = duration +. (time -. start) in
+ Hashtbl.replace timings pass (start, Some duration)
+
+let accumulate_time pass f x =
+ restart pass;
+ let r = f x in
+ accumulate pass;
+ r
+
+let get pass =
+ match Hashtbl.find timings pass with
+ | _start, Some duration -> Some duration
+ | _, None -> None
+ | exception Not_found -> None
+
+let kind_name = function
+ | File f -> Printf.sprintf "sourcefile(%s)" f
+ | Pack p -> Printf.sprintf "pack(%s)" p
+ | Startup -> "startup"
+
+let pass_name = function
+ | All -> "all"
+ | Parsing file -> Printf.sprintf "parsing(%s)" file
+ | Preprocessing file -> Printf.sprintf "preprocessing(%s)" file
+ | Typing file -> Printf.sprintf "typing(%s)" file
+ | Transl file -> Printf.sprintf "transl(%s)" file
+ | Generate file -> Printf.sprintf "generate(%s)" file
+ | Assemble file -> Printf.sprintf "assemble(%s)" file
+ | Clambda file -> Printf.sprintf "clambda(%s)" file
+ | Cmm file -> Printf.sprintf "cmm(%s)" file
+ | Compile_phrases file -> Printf.sprintf "compile_phrases(%s)" file
+ | Selection k -> Printf.sprintf "selection(%s)" (kind_name k)
+ | Comballoc k -> Printf.sprintf "comballoc(%s)" (kind_name k)
+ | CSE k -> Printf.sprintf "cse(%s)" (kind_name k)
+ | Liveness k -> Printf.sprintf "liveness(%s)" (kind_name k)
+ | Deadcode k -> Printf.sprintf "deadcode(%s)" (kind_name k)
+ | Spill k -> Printf.sprintf "spill(%s)" (kind_name k)
+ | Split k -> Printf.sprintf "split(%s)" (kind_name k)
+ | Regalloc k -> Printf.sprintf "regalloc(%s)" (kind_name k)
+ | Linearize k -> Printf.sprintf "linearize(%s)" (kind_name k)
+ | Scheduling k -> Printf.sprintf "scheduling(%s)" (kind_name k)
+ | Emit k -> Printf.sprintf "emit(%s)" (kind_name k)
+
+let timings_list () =
+ let l = Hashtbl.fold (fun pass times l -> (pass, times) :: l) timings [] in
+ List.sort (fun (_, (start1, _)) (_, (start2, _)) -> compare start1 start2) l
+
+let print ppf =
+ let current_time = Sys.time () in
+ List.iter (fun (pass, (start, stop)) ->
+ match stop with
+ | Some duration ->
+ Format.fprintf ppf "%s: %.03fs@." (pass_name pass) duration
+ | None ->
+ Format.fprintf ppf "%s: running since %.03fs@." (pass_name pass)
+ (current_time -. start))
+ (timings_list ())
+
diff --git a/utils/timings.mli b/utils/timings.mli
new file mode 100644
index 0000000000..6623ab4905
--- /dev/null
+++ b/utils/timings.mli
@@ -0,0 +1,58 @@
+(***********************************************************************)
+(* *)
+(* OCaml *)
+(* *)
+(* Pierre Chambart, OCamlPro *)
+(* *)
+(* Copyright 2015 Institut National de Recherche en Informatique et *)
+(* en Automatique. All rights reserved. This file is distributed *)
+(* under the terms of the Q Public License version 1.0. *)
+(* *)
+(***********************************************************************)
+
+(** Compiler performance recording *)
+
+type file = string
+
+type source_provenance =
+ | File of file
+ | Pack of string
+ | Startup
+
+type compiler_pass =
+ | All
+ | Parsing of file
+ | Preprocessing of file
+ | Typing of file
+ | Transl of file
+ | Generate of file
+ | Assemble of file
+ | Clambda of file
+ | Cmm of file
+ | Compile_phrases of file
+ | Selection of source_provenance
+ | Comballoc of source_provenance
+ | CSE of source_provenance
+ | Liveness of source_provenance
+ | Deadcode of source_provenance
+ | Spill of source_provenance
+ | Split of source_provenance
+ | Regalloc of source_provenance
+ | Linearize of source_provenance
+ | Scheduling of source_provenance
+ | Emit of source_provenance
+
+val reset : unit -> unit
+(** erase all recorded times *)
+
+val get : compiler_pass -> float option
+(** returns the runtime in seconds of a completed pass *)
+
+val time : compiler_pass -> ('a -> 'b) -> 'a -> 'b
+(** [time pass f arg] Record the runtime of [f arg] *)
+
+val accumulate_time : compiler_pass -> ('a -> 'b) -> 'a -> 'b
+(** Like time for passes that can run multiple times *)
+
+val print : Format.formatter -> unit
+(** Prints all recorded timings to the formatter. *)