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
master
Xavier Leroy 1996-05-28 12:41:37 +00:00
parent 7714c02c68
commit 280167a6a6
11 changed files with 216 additions and 154 deletions

View File

@ -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

View File

@ -13,6 +13,7 @@
/* Structured output */
#include <string.h>
#include "alloc.h"
#include "fail.h"
#include "gc.h"

View File

@ -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

View File

@ -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

View File

@ -13,6 +13,7 @@
/* Structured input, compact format */
#include <string.h>
#include "alloc.h"
#include "fail.h"
#include "gc.h"

View File

@ -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;

View File

@ -12,6 +12,7 @@
/* $Id$ */
#include <stdio.h>
#include <string.h>
#include "alloc.h"
#include "fail.h"
#include "memory.h"

View File

@ -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);
}
/* See if we need a refill */
if (lexbuf->lex_curr_pos >= lexbuf->lex_buffer_len) {
lexbuf->lex_saved_state = Val_int(state);
return (-1);
}
/* Read next input char */
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 ();
}
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;
}
}
}
}

View File

@ -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

View File

@ -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 */

View File

@ -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_ */