diff options
Diffstat (limited to 'bytecomp/instruct.ml')
-rw-r--r-- | bytecomp/instruct.ml | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/bytecomp/instruct.ml b/bytecomp/instruct.ml index f3d7c9e7a..d86157ba3 100644 --- a/bytecomp/instruct.ml +++ b/bytecomp/instruct.ml @@ -13,6 +13,23 @@ open Lambda +type compilation_env = + { ce_stack: int Ident.tbl; + ce_heap: int Ident.tbl } + +type debug_event = + { mutable ev_pos: int; (* Position in bytecode *) + ev_file: string; (* Source file name *) + ev_char: int; (* Location in source file *) + ev_kind: debug_event_kind; (* Before/after event *) + ev_typenv: Env.summary; (* Typing environment *) + ev_compenv: compilation_env; (* Compilation environment *) + ev_stacksize: int } (* Size of stack frame *) + +and debug_event_kind = + Event_before + | Event_after of Types.type_expr + type label = int (* Symbolic code labels *) type instruction = @@ -61,6 +78,7 @@ type instruction = | Koffsetint of int | Koffsetref of int | Kgetmethod + | Kevent of debug_event | Kstop let immed_min = -0x40000000 |