summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>1996-05-28 12:41:37 +0000
committerXavier Leroy <xavier.leroy@inria.fr>1996-05-28 12:41:37 +0000
commit280167a6a65e28caec9ef1af78204aea0b2bc6e4 (patch)
tree555e074fac3b1b4f8a2b506bd3065c6c6c126642
parent7714c02c6802469aa3edab124086e9dbfcab081e (diff)
fix_code, meta, interp: remplacement de execute_bytecode par reify_bytecode.
lexing: ne plus faire de callbacks, incompatibles avec les threads. autres: rectifications #includes. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@844 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r--byterun/.depend292
-rw-r--r--byterun/extern.c1
-rw-r--r--byterun/fix_code.c7
-rw-r--r--byterun/fix_code.h7
-rw-r--r--byterun/intern.c1
-rw-r--r--byterun/interp.c5
-rw-r--r--byterun/ints.c1
-rw-r--r--byterun/lexing.c36
-rw-r--r--byterun/main.c4
-rw-r--r--byterun/meta.c13
-rw-r--r--byterun/sys.h1
11 files changed, 215 insertions, 153 deletions
diff --git a/byterun/.depend b/byterun/.depend
index d321598c6..06800186c 100644
--- a/byterun/.depend
+++ b/byterun/.depend
@@ -1,129 +1,163 @@
-alloc.o : alloc.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- major_gc.h freelist.h memory.h gc.h minor_gc.h stacks.h
-array.o : array.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h
-compare.o : compare.c fail.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h str.h
-extern.o : extern.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h gc.h intext.h io.h memory.h major_gc.h freelist.h minor_gc.h reverse.h \
- str.h
-fail.o : fail.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h gc.h memory.h major_gc.h freelist.h minor_gc.h signals.h stacks.h
-fix_code.o : fix_code.c config.h ../config/m.h ../config/s.h fix_code.h misc.h \
- mlvalues.h instruct.h reverse.h
-floats.o : floats.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h stacks.h
-freelist.o : freelist.c config.h ../config/m.h ../config/s.h freelist.h misc.h \
- mlvalues.h gc.h gc_ctrl.h major_gc.h
-gc_ctrl.o : gc_ctrl.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- gc.h gc_ctrl.h major_gc.h freelist.h minor_gc.h
-hash.o : hash.c mlvalues.h config.h ../config/m.h ../config/s.h misc.h memory.h \
- gc.h major_gc.h freelist.h minor_gc.h str.h
-instrtrace.o : instrtrace.c
-intern.o : intern.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h gc.h intext.h io.h memory.h major_gc.h freelist.h minor_gc.h reverse.h
-interp.o : interp.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h fix_code.h instruct.h interp.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
- prims.h signals.h stacks.h str.h instrtrace.h jumptbl.h
-ints.o : ints.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h str.h
-io.o : io.c config.h ../config/m.h ../config/s.h alloc.h misc.h mlvalues.h fail.h \
- io.h memory.h gc.h major_gc.h freelist.h minor_gc.h signals.h sys.h
-lexing.o : lexing.c mlvalues.h config.h ../config/m.h ../config/s.h misc.h stacks.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h str.h
-main.o : main.c config.h ../config/m.h ../config/s.h alloc.h misc.h mlvalues.h \
- exec.h fail.h fix_code.h gc_ctrl.h interp.h intext.h io.h minor_gc.h stacks.h \
- memory.h gc.h major_gc.h freelist.h sys.h
-major_gc.o : major_gc.c config.h ../config/m.h ../config/s.h fail.h misc.h mlvalues.h \
- freelist.h gc.h gc_ctrl.h major_gc.h roots.h
-md5.o : md5.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h io.h
-memory.o : memory.c fail.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- freelist.h gc.h gc_ctrl.h major_gc.h memory.h minor_gc.h signals.h
-meta.o : meta.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fix_code.h interp.h major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h stacks.h
-minor_gc.o : minor_gc.c config.h ../config/m.h ../config/s.h fail.h misc.h mlvalues.h \
- gc.h gc_ctrl.h major_gc.h freelist.h memory.h minor_gc.h roots.h signals.h
-misc.o : misc.c config.h ../config/m.h ../config/s.h misc.h
-obj.o : obj.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h
-parsing.o : parsing.c config.h ../config/m.h ../config/s.h mlvalues.h misc.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h alloc.h
-prims.o : prims.c mlvalues.h config.h ../config/m.h ../config/s.h misc.h prims.h
-roots.o : roots.c memory.h config.h ../config/m.h ../config/s.h gc.h mlvalues.h \
- misc.h major_gc.h freelist.h minor_gc.h roots.h stacks.h
-signals.o : signals.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h roots.h signals.h
-stacks.o : stacks.c config.h ../config/m.h ../config/s.h fail.h misc.h mlvalues.h \
- stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h
-str.o : str.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h
-sys.o : sys.c config.h ../config/m.h ../config/s.h alloc.h misc.h mlvalues.h \
- fail.h instruct.h signals.h stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h
-terminfo.o : terminfo.c config.h ../config/m.h ../config/s.h alloc.h misc.h \
- mlvalues.h fail.h io.h
-alloc.d.o : alloc.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- major_gc.h freelist.h memory.h gc.h minor_gc.h stacks.h
-array.d.o : array.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h
-compare.d.o : compare.c fail.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h str.h
-extern.d.o : extern.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h gc.h intext.h io.h memory.h major_gc.h freelist.h minor_gc.h reverse.h \
- str.h
-fail.d.o : fail.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h gc.h memory.h major_gc.h freelist.h minor_gc.h signals.h stacks.h
-fix_code.d.o : fix_code.c config.h ../config/m.h ../config/s.h fix_code.h misc.h \
- mlvalues.h instruct.h reverse.h
-floats.d.o : floats.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h stacks.h
-freelist.d.o : freelist.c config.h ../config/m.h ../config/s.h freelist.h misc.h \
- mlvalues.h gc.h gc_ctrl.h major_gc.h
-gc_ctrl.d.o : gc_ctrl.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- gc.h gc_ctrl.h major_gc.h freelist.h minor_gc.h
-hash.d.o : hash.c mlvalues.h config.h ../config/m.h ../config/s.h misc.h memory.h \
- gc.h major_gc.h freelist.h minor_gc.h str.h
-instrtrace.d.o : instrtrace.c instruct.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h opnames.h
-intern.d.o : intern.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h gc.h intext.h io.h memory.h major_gc.h freelist.h minor_gc.h reverse.h
-interp.d.o : interp.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h fix_code.h instruct.h interp.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
- prims.h signals.h stacks.h str.h instrtrace.h
-ints.d.o : ints.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h str.h
-io.d.o : io.c config.h ../config/m.h ../config/s.h alloc.h misc.h mlvalues.h fail.h \
- io.h memory.h gc.h major_gc.h freelist.h minor_gc.h signals.h sys.h
-lexing.d.o : lexing.c mlvalues.h config.h ../config/m.h ../config/s.h misc.h stacks.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h str.h
-main.d.o : main.c config.h ../config/m.h ../config/s.h alloc.h misc.h mlvalues.h \
- exec.h fail.h fix_code.h gc_ctrl.h interp.h intext.h io.h minor_gc.h stacks.h \
- memory.h gc.h major_gc.h freelist.h sys.h
-major_gc.d.o : major_gc.c config.h ../config/m.h ../config/s.h fail.h misc.h mlvalues.h \
- freelist.h gc.h gc_ctrl.h major_gc.h roots.h
-md5.d.o : md5.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h io.h
-memory.d.o : memory.c fail.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- freelist.h gc.h gc_ctrl.h major_gc.h memory.h minor_gc.h signals.h
-meta.d.o : meta.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fix_code.h interp.h major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h stacks.h
-minor_gc.d.o : minor_gc.c config.h ../config/m.h ../config/s.h fail.h misc.h mlvalues.h \
- gc.h gc_ctrl.h major_gc.h freelist.h memory.h minor_gc.h roots.h signals.h
-misc.d.o : misc.c config.h ../config/m.h ../config/s.h misc.h
-obj.d.o : obj.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h
-parsing.d.o : parsing.c config.h ../config/m.h ../config/s.h mlvalues.h misc.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h alloc.h
-prims.d.o : prims.c mlvalues.h config.h ../config/m.h ../config/s.h misc.h prims.h
-roots.d.o : roots.c memory.h config.h ../config/m.h ../config/s.h gc.h mlvalues.h \
- misc.h major_gc.h freelist.h minor_gc.h roots.h stacks.h
-signals.d.o : signals.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h roots.h signals.h
-stacks.d.o : stacks.c config.h ../config/m.h ../config/s.h fail.h misc.h mlvalues.h \
- stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h
-str.d.o : str.c alloc.h misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
- fail.h
-sys.d.o : sys.c config.h ../config/m.h ../config/s.h alloc.h misc.h mlvalues.h \
- fail.h instruct.h signals.h stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h
-terminfo.d.o : terminfo.c config.h ../config/m.h ../config/s.h alloc.h misc.h \
- mlvalues.h fail.h io.h
+alloc.o: alloc.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h major_gc.h freelist.h memory.h gc.h minor_gc.h stacks.h
+array.o: array.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h
+compare.o: compare.c fail.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h str.h
+extern.o: extern.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h gc.h intext.h io.h memory.h major_gc.h freelist.h \
+ minor_gc.h reverse.h str.h
+fail.o: fail.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h gc.h memory.h major_gc.h freelist.h minor_gc.h \
+ signals.h stacks.h
+fix_code.o: fix_code.c config.h ../config/m.h ../config/s.h fix_code.h \
+ misc.h mlvalues.h instruct.h reverse.h
+floats.o: floats.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ stacks.h
+freelist.o: freelist.c config.h ../config/m.h ../config/s.h freelist.h \
+ misc.h mlvalues.h gc.h gc_ctrl.h major_gc.h
+gc_ctrl.o: gc_ctrl.c alloc.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h gc.h gc_ctrl.h major_gc.h freelist.h \
+ minor_gc.h
+hash.o: hash.c mlvalues.h config.h ../config/m.h ../config/s.h misc.h \
+ memory.h gc.h major_gc.h freelist.h minor_gc.h str.h
+instrtrace.o: instrtrace.c
+intern.o: intern.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h gc.h intext.h io.h memory.h major_gc.h freelist.h \
+ minor_gc.h reverse.h
+interp.o: interp.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h fix_code.h instruct.h interp.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h prims.h signals.h stacks.h str.h \
+ instrtrace.h jumptbl.h
+ints.o: ints.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ str.h
+io.o: io.c config.h ../config/m.h ../config/s.h alloc.h misc.h \
+ mlvalues.h fail.h io.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ signals.h sys.h
+lexing.o: lexing.c mlvalues.h config.h ../config/m.h ../config/s.h \
+ misc.h stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h str.h
+main.o: main.c config.h ../config/m.h ../config/s.h alloc.h misc.h \
+ mlvalues.h exec.h fail.h fix_code.h gc_ctrl.h interp.h intext.h io.h \
+ minor_gc.h stacks.h memory.h gc.h major_gc.h freelist.h sys.h
+major_gc.o: major_gc.c config.h ../config/m.h ../config/s.h fail.h \
+ misc.h mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h roots.h
+md5.o: md5.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h io.h
+memory.o: memory.c fail.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h memory.h minor_gc.h \
+ signals.h
+meta.o: meta.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fix_code.h interp.h major_gc.h freelist.h memory.h gc.h \
+ minor_gc.h prims.h stacks.h
+minor_gc.o: minor_gc.c config.h ../config/m.h ../config/s.h fail.h \
+ misc.h mlvalues.h gc.h gc_ctrl.h major_gc.h freelist.h memory.h \
+ minor_gc.h roots.h signals.h
+misc.o: misc.c config.h ../config/m.h ../config/s.h misc.h
+obj.o: obj.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h
+oldintern.o: oldintern.c alloc.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h fail.h gc.h intext.h io.h memory.h \
+ major_gc.h freelist.h minor_gc.h reverse.h
+parsing.o: parsing.c config.h ../config/m.h ../config/s.h mlvalues.h \
+ misc.h memory.h gc.h major_gc.h freelist.h minor_gc.h alloc.h
+prims.o: prims.c mlvalues.h config.h ../config/m.h ../config/s.h \
+ misc.h prims.h
+roots.o: roots.c memory.h config.h ../config/m.h ../config/s.h gc.h \
+ mlvalues.h misc.h major_gc.h freelist.h minor_gc.h roots.h stacks.h
+signals.o: signals.c alloc.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h roots.h signals.h
+stacks.o: stacks.c config.h ../config/m.h ../config/s.h fail.h misc.h \
+ mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h
+str.o: str.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h
+sys.o: sys.c config.h ../config/m.h ../config/s.h alloc.h misc.h \
+ mlvalues.h fail.h instruct.h signals.h stacks.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h
+terminfo.o: terminfo.c config.h ../config/m.h ../config/s.h alloc.h \
+ misc.h mlvalues.h fail.h io.h
+alloc.d.o: alloc.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h major_gc.h freelist.h memory.h gc.h minor_gc.h stacks.h
+array.d.o: array.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h
+compare.d.o: compare.c fail.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h str.h
+extern.d.o: extern.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h gc.h intext.h io.h memory.h major_gc.h freelist.h \
+ minor_gc.h reverse.h str.h
+fail.d.o: fail.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h gc.h memory.h major_gc.h freelist.h minor_gc.h \
+ signals.h stacks.h
+fix_code.d.o: fix_code.c config.h ../config/m.h ../config/s.h fix_code.h \
+ misc.h mlvalues.h instruct.h reverse.h
+floats.d.o: floats.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ stacks.h
+freelist.d.o: freelist.c config.h ../config/m.h ../config/s.h freelist.h \
+ misc.h mlvalues.h gc.h gc_ctrl.h major_gc.h
+gc_ctrl.d.o: gc_ctrl.c alloc.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h gc.h gc_ctrl.h major_gc.h freelist.h \
+ minor_gc.h
+hash.d.o: hash.c mlvalues.h config.h ../config/m.h ../config/s.h misc.h \
+ memory.h gc.h major_gc.h freelist.h minor_gc.h str.h
+instrtrace.d.o: instrtrace.c instruct.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h opnames.h
+intern.d.o: intern.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h gc.h intext.h io.h memory.h major_gc.h freelist.h \
+ minor_gc.h reverse.h
+interp.d.o: interp.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h fix_code.h instruct.h interp.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h prims.h signals.h stacks.h str.h \
+ instrtrace.h
+ints.d.o: ints.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ str.h
+io.d.o: io.c config.h ../config/m.h ../config/s.h alloc.h misc.h \
+ mlvalues.h fail.h io.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ signals.h sys.h
+lexing.d.o: lexing.c mlvalues.h config.h ../config/m.h ../config/s.h \
+ misc.h stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h str.h
+main.d.o: main.c config.h ../config/m.h ../config/s.h alloc.h misc.h \
+ mlvalues.h exec.h fail.h fix_code.h gc_ctrl.h interp.h intext.h io.h \
+ minor_gc.h stacks.h memory.h gc.h major_gc.h freelist.h sys.h
+major_gc.d.o: major_gc.c config.h ../config/m.h ../config/s.h fail.h \
+ misc.h mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h roots.h
+md5.d.o: md5.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h io.h
+memory.d.o: memory.c fail.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h memory.h minor_gc.h \
+ signals.h
+meta.d.o: meta.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fix_code.h interp.h major_gc.h freelist.h memory.h gc.h \
+ minor_gc.h prims.h stacks.h
+minor_gc.d.o: minor_gc.c config.h ../config/m.h ../config/s.h fail.h \
+ misc.h mlvalues.h gc.h gc_ctrl.h major_gc.h freelist.h memory.h \
+ minor_gc.h roots.h signals.h
+misc.d.o: misc.c config.h ../config/m.h ../config/s.h misc.h
+obj.d.o: obj.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h
+oldintern.d.o: oldintern.c alloc.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h fail.h gc.h intext.h io.h memory.h \
+ major_gc.h freelist.h minor_gc.h reverse.h
+parsing.d.o: parsing.c config.h ../config/m.h ../config/s.h mlvalues.h \
+ misc.h memory.h gc.h major_gc.h freelist.h minor_gc.h alloc.h
+prims.d.o: prims.c mlvalues.h config.h ../config/m.h ../config/s.h \
+ misc.h prims.h
+roots.d.o: roots.c memory.h config.h ../config/m.h ../config/s.h gc.h \
+ mlvalues.h misc.h major_gc.h freelist.h minor_gc.h roots.h stacks.h
+signals.d.o: signals.c alloc.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h roots.h signals.h
+stacks.d.o: stacks.c config.h ../config/m.h ../config/s.h fail.h misc.h \
+ mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h
+str.d.o: str.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
+ mlvalues.h fail.h
+sys.d.o: sys.c config.h ../config/m.h ../config/s.h alloc.h misc.h \
+ mlvalues.h fail.h instruct.h signals.h stacks.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h
+terminfo.d.o: terminfo.c config.h ../config/m.h ../config/s.h alloc.h \
+ misc.h mlvalues.h fail.h io.h
diff --git a/byterun/extern.c b/byterun/extern.c
index 82626581a..a195fe248 100644
--- a/byterun/extern.c
+++ b/byterun/extern.c
@@ -13,6 +13,7 @@
/* Structured output */
+#include <string.h>
#include "alloc.h"
#include "fail.h"
#include "gc.h"
diff --git a/byterun/fix_code.c b/byterun/fix_code.c
index 3269aa473..20ef44ee6 100644
--- a/byterun/fix_code.c
+++ b/byterun/fix_code.c
@@ -41,10 +41,11 @@ void fixup_endianness(code, len)
#ifdef THREADED_CODE
-void thread_code(code, len, instr_table)
+void ** instr_table;
+
+void thread_code(code, len)
code_t code;
asize_t len;
- void * instr_table[];
{
code_t p;
len /= sizeof(opcode_t);
@@ -77,7 +78,7 @@ void thread_code(code, len, instr_table)
break; }
}
}
- Assert(p = code + len);
+ Assert(p == code + len);
}
#endif
diff --git a/byterun/fix_code.h b/byterun/fix_code.h
index 7a66dc62c..652d2d816 100644
--- a/byterun/fix_code.h
+++ b/byterun/fix_code.h
@@ -17,11 +17,16 @@
#define _fix_code_
+#include "config.h"
#include "misc.h"
#include "mlvalues.h"
+#ifdef THREADED_CODE
+void ** instr_table;
+#endif
+
void fixup_endianness P((code_t code, asize_t len));
-void thread_code P((code_t code, asize_t len, void * instr_table[]));
+void thread_code P((code_t code, asize_t len));
#endif
diff --git a/byterun/intern.c b/byterun/intern.c
index 5fbeca32a..5c063b3ae 100644
--- a/byterun/intern.c
+++ b/byterun/intern.c
@@ -13,6 +13,7 @@
/* Structured input, compact format */
+#include <string.h>
#include "alloc.h"
#include "fail.h"
#include "gc.h"
diff --git a/byterun/interp.c b/byterun/interp.c
index 6f11a3d17..5dd3ccae8 100644
--- a/byterun/interp.c
+++ b/byterun/interp.c
@@ -126,7 +126,10 @@ value interprete(prog, prog_size)
#endif
#ifdef THREADED_CODE
- if (prog[0] <= STOP) thread_code(prog, prog_size, jumptable);
+ if (prog[0] <= STOP) {
+ instr_table = jumptable;
+ thread_code(prog, prog_size);
+ }
#endif
sp = extern_sp;
diff --git a/byterun/ints.c b/byterun/ints.c
index 740d1db7c..b44f87070 100644
--- a/byterun/ints.c
+++ b/byterun/ints.c
@@ -12,6 +12,7 @@
/* $Id$ */
#include <stdio.h>
+#include <string.h>
#include "alloc.h"
#include "fail.h"
#include "memory.h"
diff --git a/byterun/lexing.c b/byterun/lexing.c
index 8a3219f6c..86387a911 100644
--- a/byterun/lexing.c
+++ b/byterun/lexing.c
@@ -13,6 +13,7 @@
/* The table-driven automaton for lexers generated by camllex. */
+#include "fail.h"
#include "mlvalues.h"
#include "stacks.h"
#include "str.h"
@@ -25,6 +26,8 @@ struct lexer_buffer {
value lex_start_pos;
value lex_curr_pos;
value lex_last_pos;
+ value lex_saved_state;
+ value lex_last_action;
};
struct lexing_table {
@@ -48,11 +51,16 @@ value lex_engine(tbl, start_state, lexbuf) /* ML */
value start_state;
struct lexer_buffer * lexbuf;
{
- int state, last_action, base, backtrk, c;
+ int state, base, backtrk, c;
- state = Int_val(start_state);
- lexbuf->lex_last_pos = lexbuf->lex_start_pos = lexbuf->lex_curr_pos;
- last_action = -1;
+ if (Int_val(lexbuf->lex_saved_state) >= 0) {
+ state = Int_val(lexbuf->lex_saved_state);
+ lexbuf->lex_saved_state = Val_int(-1);
+ } else {
+ state = Int_val(start_state);
+ lexbuf->lex_last_pos = lexbuf->lex_start_pos = lexbuf->lex_curr_pos;
+ lexbuf->lex_last_action = Val_int(-1);
+ }
while(1) {
/* Lookup base address or action number for current state */
base = Short(tbl->lex_base, state);
@@ -61,18 +69,14 @@ value lex_engine(tbl, start_state, lexbuf) /* ML */
backtrk = Short(tbl->lex_backtrk, state);
if (backtrk >= 0) {
lexbuf->lex_last_pos = lexbuf->lex_curr_pos;
- last_action = backtrk;
+ lexbuf->lex_last_action = Val_int(backtrk);
}
- /* Read next input char */
+ /* See if we need a refill */
if (lexbuf->lex_curr_pos >= lexbuf->lex_buffer_len) {
- Push_roots (r, 2);
- r[0] = (value) tbl;
- r[1] = (value) lexbuf;
- callback(lexbuf->refill_buff, (value) lexbuf);
- tbl = (struct lexing_table *) r[0];
- lexbuf = (struct lexer_buffer *) r[1];
- Pop_roots ();
+ lexbuf->lex_saved_state = Val_int(state);
+ return (-1);
}
+ /* Read next input char */
c = Byte_u(lexbuf->lex_buffer, Long_val(lexbuf->lex_curr_pos));
lexbuf->lex_curr_pos += 2;
/* Determine next state */
@@ -83,7 +87,11 @@ value lex_engine(tbl, start_state, lexbuf) /* ML */
/* If no transition on this char, return to last backtrack point */
if (state < 0) {
lexbuf->lex_curr_pos = lexbuf->lex_last_pos;
- return Val_int(last_action);
+ if (lexbuf->lex_last_action == Val_int(-1)) {
+ failwith("lexing: empty token");
+ } else {
+ return lexbuf->lex_last_action;
+ }
}
}
}
diff --git a/byterun/main.c b/byterun/main.c
index af20ad245..45e759c4a 100644
--- a/byterun/main.c
+++ b/byterun/main.c
@@ -78,8 +78,6 @@ static int read_trailer(fd, trail)
return BAD_MAGIC_NUM;
}
-extern char * searchpath();
-
int attempt_open(name, trail, do_open_script)
char ** name;
struct exec_trailer * trail;
@@ -129,6 +127,8 @@ Algorithm:
*/
+extern void init_ieee_floats();
+
#ifdef HAS_UI
int caml_main(argc, argv)
#else
diff --git a/byterun/meta.c b/byterun/meta.c
index 4b1c76644..a2df1572c 100644
--- a/byterun/meta.c
+++ b/byterun/meta.c
@@ -14,6 +14,7 @@
/* Primitives for the toplevel */
#include "alloc.h"
+#include "config.h"
#include "fix_code.h"
#include "interp.h"
#include "major_gc.h"
@@ -30,13 +31,19 @@ value get_global_data(unit) /* ML */
return global_data;
}
-value execute_bytecode(prog, len) /* ML */
+value reify_bytecode(prog, len) /* ML */
value prog, len;
{
-#if defined(BIG_ENDIAN)
+ value clos;
+#ifdef BIG_ENDIAN
fixup_endianness((code_t) prog, (asize_t) Long_val(len));
#endif
- return interprete((code_t) prog, (asize_t) Long_val(len));
+#ifdef THREADED_CODE
+ thread_code((code_t) prog, (asize_t) Long_val(len));
+#endif
+ clos = alloc(1, Closure_tag);
+ Code_val(clos) = (code_t) prog;
+ return clos;
}
value realloc_global(size) /* ML */
diff --git a/byterun/sys.h b/byterun/sys.h
index f6dcb0f3c..859422c2c 100644
--- a/byterun/sys.h
+++ b/byterun/sys.h
@@ -19,5 +19,6 @@
void sys_error P((char *));
void sys_init P((char **));
void sys_exit P((value)) Noreturn;
+char * searchpath P((char * name));
#endif /* _sys_ */