jon.recoil.org

Module Instruct

type structured_constant = Lambda.structured_constant
type raise_kind = Lambda.raise_kind
type comparison =
  1. | Eq
  2. | Neq
  3. | Ltint
  4. | Gtint
  5. | Leint
  6. | Geint
  7. | Ultint
  8. | Ugeint
type closure_entry = Debug_event.closure_entry =
  1. | Free_variable of int
  2. | Function of int
type closure_env = Debug_event.closure_env =
  1. | Not_in_closure
  2. | In_closure of {
    1. entries : Instruct.closure_entry Ident.tbl;
    2. env_pos : int;
    }
type compilation_env = Debug_event.compilation_env = {
  1. ce_stack : int Ident.tbl;
  2. ce_closure : Instruct.closure_env;
}
type debug_event = Debug_event.debug_event = {
  1. mutable ev_pos : int;
  2. ev_module : string;
  3. ev_loc : Location.t;
  4. ev_kind : Instruct.debug_event_kind;
  5. ev_defname : string;
  6. ev_info : Instruct.debug_event_info;
  7. ev_typenv : Env.summary;
  8. ev_typsubst : Subst.t;
  9. ev_compenv : Instruct.compilation_env;
  10. ev_stacksize : int;
  11. ev_repr : Instruct.debug_event_repr;
}
and debug_event_kind = Debug_event.debug_event_kind =
  1. | Event_before
  2. | Event_after of Types.type_expr
  3. | Event_pseudo
and debug_event_info = Debug_event.debug_event_info =
  1. | Event_function
  2. | Event_return of int
  3. | Event_other
and debug_event_repr = Debug_event.debug_event_repr =
  1. | Event_none
  2. | Event_parent of int Stdlib.ref
  3. | Event_child of int Stdlib.ref
type label = int
type instruction =
  1. | Klabel of Instruct.label
  2. | Kacc of int
  3. | Kenvacc of int
  4. | Kpush
  5. | Kpop of int
  6. | Kassign of int
  7. | Kpush_retaddr of Instruct.label
  8. | Kapply of int
  9. | Kappterm of int * int
  10. | Kreturn of int
  11. | Krestart
  12. | Kgrab of int
  13. | Kclosure of Instruct.label * int
  14. | Kclosurerec of Instruct.label list * int
  15. | Koffsetclosure of int
  16. | Kgetglobal of Compilation_unit.t
  17. | Ksetglobal of Compilation_unit.t
  18. | Kgetpredef of Ident.t
  19. | Kconst of Instruct.structured_constant
  20. | Kmakeblock of int * int
  21. | Kmake_faux_mixedblock of int * int
  22. | Kmakefloatblock of int
  23. | Kgetfield of int
  24. | Ksetfield of int
  25. | Kgetfloatfield of int
  26. | Ksetfloatfield of int
  27. | Kvectlength
  28. | Kgetvectitem
  29. | Ksetvectitem
  30. | Kgetstringchar
  31. | Kgetbyteschar
  32. | Ksetbyteschar
  33. | Kbranch of Instruct.label
  34. | Kbranchif of Instruct.label
  35. | Kbranchifnot of Instruct.label
  36. | Kstrictbranchif of Instruct.label
  37. | Kstrictbranchifnot of Instruct.label
  38. | Kswitch of Instruct.label array * Instruct.label array
  39. | Kboolnot
  40. | Kpushtrap of Instruct.label
  41. | Kpoptrap
  42. | Kraise of Instruct.raise_kind
  43. | Kcheck_signals
  44. | Kccall of string * int
  45. | Knegint
  46. | Kaddint
  47. | Ksubint
  48. | Kmulint
  49. | Kdivint
  50. | Kmodint
  51. | Kandint
  52. | Korint
  53. | Kxorint
  54. | Klslint
  55. | Klsrint
  56. | Kasrint
  57. | Kintcomp of Instruct.comparison
  58. | Koffsetint of int
  59. | Koffsetref of int
  60. | Kisint
  61. | Kgetmethod
  62. | Kgetpubmet of int
  63. | Kgetdynmet
  64. | Kevent of Instruct.debug_event
  65. | Kperform
  66. | Kresume
  67. | Kresumeterm of int
  68. | Kreperformterm of int
  69. | Kstop
val immed_min : int
val immed_max : int