Changes by: Jason J. Hickey (jyh at cs.caltech.edu)
Date: 2007-09-07 10:52:01 -0700 (Fri, 07 Sep 2007)
Revision: 12122
Log message:
Represent ValChannel as an int ref; the environment has the table
int ref -> Lm_channel.t. This adds a level of indirection, but
it means that values will never, ever include functions. This
resolves a problem David was seeing 'Invalid_argument "functional value"'.
The reason for the int ref is to get unique identifiers, so that
marshaled channels will unmarshal to new handles. This means
we no longer have a need for venv_marshal, which pretended to
close all the channels before marshaling.
The table is Omake_handle_table.IntHandleTable.
Changes | Path(relative to omake-branches/0.9.8.x/src) |
+34 -105 | env/omake_env.ml |
+0 -4 | env/omake_env.mli |
+1 -8 | ir/omake_value_type.ml |
+86 -0 | util/omake_handle_table.ml |