ocaml/bytecomp
Xavier Leroy 9e128577a4 New representation of closures, bytecode part
Add a "closure information" field after each code pointer in
a closure.  This field generalizes the "arity" field used by
the native-code compiler, in that it has room both for an arity
(always 0 in bytecode) and for the distance from the closure
to the first environment variable in the closure block.

This makes closures "self-described" and easy to scan for pointers:
everything up to the first env var is out-of-heap code pointers or
integers; everything after the first env var is a well-formed value.

At this point a bootstrap is needed.
2020-06-05 17:42:08 +02:00
..
bytegen.ml New representation of closures, bytecode part 2020-06-05 17:42:08 +02:00
bytegen.mli Whitespace and overlong line fixes. 2018-06-14 15:15:34 +01:00
bytelibrarian.ml Refactor load path management and initial environment 2019-01-30 16:36:38 +00:00
bytelibrarian.mli Print warnings on the warnings formatter in the couple of places that don't 2018-07-15 15:00:47 -04:00
bytelink.ml When bytecode linking fails due to a missing module, show which module requires it (#9583) 2020-05-21 05:37:09 +02:00
bytelink.mli When bytecode linking fails due to a missing module, show which module requires it (#9583) 2020-05-21 05:37:09 +02:00
bytepackager.ml Fix #8769 (#8770) 2019-06-28 16:17:00 +01:00
bytepackager.mli Add option to dump the output of e.g. -dlambda in a file (#1913) 2018-07-27 08:51:53 +01:00
bytesections.ml More warnings when compiling the compiler. 2016-03-15 22:46:35 +01:00
bytesections.mli Update headers for the new license. 2016-02-18 16:59:16 +01:00
dll.ml Fix regression: return empty list of directories when PATH-like env var is empty 2018-10-10 14:55:04 +02:00
dll.mli Update headers for the new license. 2016-02-18 16:59:16 +01:00
dune Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
emitcode.ml Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
emitcode.mli Whitespace and overlong line fixes. 2018-06-14 15:15:34 +01:00
instruct.ml Print function names (derived from Lambda.scoped_location) in backtraces 2020-04-27 12:58:53 +01:00
instruct.mli Print function names (derived from Lambda.scoped_location) in backtraces 2020-04-27 12:58:53 +01:00
meta.ml Add an optional digest parameter to Meta.reify_bytecode. 2018-04-13 17:36:20 +01:00
meta.mli Whitespace and overlong line fixes. 2018-06-14 15:15:34 +01:00
printinstr.ml Add bytecode instruction to access string, different from the bytes one. 2018-03-15 18:25:31 +01:00
printinstr.mli Update headers for the new license. 2016-02-18 16:59:16 +01:00
symtable.ml Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
symtable.mli Fix new dynlink's initialisation checks (#2176) 2018-12-08 10:15:19 -05:00