jon.recoil.org

Module Dwarf_low.Dwarf_operator

module Int8 = Numbers.Int8
module Int16 = Numbers.Int16
module Uint8 = Numbers.Uint8
module Uint16 = Numbers.Uint16
module Uint32 = Numbers.Uint32
module Uint64 = Numbers.Uint64
type implicit_value =
  1. | Int of Targetint.t
  2. | Symbol of Asm_targets.Asm_symbol.t
type t =
  1. | DW_op_lit0
  2. | DW_op_lit1
  3. | DW_op_lit2
  4. | DW_op_lit3
  5. | DW_op_lit4
  6. | DW_op_lit5
  7. | DW_op_lit6
  8. | DW_op_lit7
  9. | DW_op_lit8
  10. | DW_op_lit9
  11. | DW_op_lit10
  12. | DW_op_lit11
  13. | DW_op_lit12
  14. | DW_op_lit13
  15. | DW_op_lit14
  16. | DW_op_lit15
  17. | DW_op_lit16
  18. | DW_op_lit17
  19. | DW_op_lit18
  20. | DW_op_lit19
  21. | DW_op_lit20
  22. | DW_op_lit21
  23. | DW_op_lit22
  24. | DW_op_lit23
  25. | DW_op_lit24
  26. | DW_op_lit25
  27. | DW_op_lit26
  28. | DW_op_lit27
  29. | DW_op_lit28
  30. | DW_op_lit29
  31. | DW_op_lit30
  32. | DW_op_lit31
  33. | DW_op_addr of Dwarf_low.Dwarf_operator.implicit_value
  34. | DW_op_const1u of Uint8.t
  35. | DW_op_const2u of Uint16.t
  36. | DW_op_const4u of Uint32.t
  37. | DW_op_const8u of Uint64.t
  38. | DW_op_const1s of Int8.t
  39. | DW_op_const2s of Int16.t
  40. | DW_op_const4s of Stdlib.Int32.t
  41. | DW_op_const8s of Stdlib.Int64.t
  42. | DW_op_constu of Uint64.t
  43. | DW_op_consts of Stdlib.Int64.t
  44. | DW_op_fbreg of {
    1. offset_in_bytes : Targetint.t;
    }
  45. | DW_op_breg0 of {
    1. offset_in_bytes : Targetint.t;
    }
  46. | DW_op_breg1 of {
    1. offset_in_bytes : Targetint.t;
    }
  47. | DW_op_breg2 of {
    1. offset_in_bytes : Targetint.t;
    }
  48. | DW_op_breg3 of {
    1. offset_in_bytes : Targetint.t;
    }
  49. | DW_op_breg4 of {
    1. offset_in_bytes : Targetint.t;
    }
  50. | DW_op_breg5 of {
    1. offset_in_bytes : Targetint.t;
    }
  51. | DW_op_breg6 of {
    1. offset_in_bytes : Targetint.t;
    }
  52. | DW_op_breg7 of {
    1. offset_in_bytes : Targetint.t;
    }
  53. | DW_op_breg8 of {
    1. offset_in_bytes : Targetint.t;
    }
  54. | DW_op_breg9 of {
    1. offset_in_bytes : Targetint.t;
    }
  55. | DW_op_breg10 of {
    1. offset_in_bytes : Targetint.t;
    }
  56. | DW_op_breg11 of {
    1. offset_in_bytes : Targetint.t;
    }
  57. | DW_op_breg12 of {
    1. offset_in_bytes : Targetint.t;
    }
  58. | DW_op_breg13 of {
    1. offset_in_bytes : Targetint.t;
    }
  59. | DW_op_breg14 of {
    1. offset_in_bytes : Targetint.t;
    }
  60. | DW_op_breg15 of {
    1. offset_in_bytes : Targetint.t;
    }
  61. | DW_op_breg16 of {
    1. offset_in_bytes : Targetint.t;
    }
  62. | DW_op_breg17 of {
    1. offset_in_bytes : Targetint.t;
    }
  63. | DW_op_breg18 of {
    1. offset_in_bytes : Targetint.t;
    }
  64. | DW_op_breg19 of {
    1. offset_in_bytes : Targetint.t;
    }
  65. | DW_op_breg20 of {
    1. offset_in_bytes : Targetint.t;
    }
  66. | DW_op_breg21 of {
    1. offset_in_bytes : Targetint.t;
    }
  67. | DW_op_breg22 of {
    1. offset_in_bytes : Targetint.t;
    }
  68. | DW_op_breg23 of {
    1. offset_in_bytes : Targetint.t;
    }
  69. | DW_op_breg24 of {
    1. offset_in_bytes : Targetint.t;
    }
  70. | DW_op_breg25 of {
    1. offset_in_bytes : Targetint.t;
    }
  71. | DW_op_breg26 of {
    1. offset_in_bytes : Targetint.t;
    }
  72. | DW_op_breg27 of {
    1. offset_in_bytes : Targetint.t;
    }
  73. | DW_op_breg28 of {
    1. offset_in_bytes : Targetint.t;
    }
  74. | DW_op_breg29 of {
    1. offset_in_bytes : Targetint.t;
    }
  75. | DW_op_breg30 of {
    1. offset_in_bytes : Targetint.t;
    }
  76. | DW_op_breg31 of {
    1. offset_in_bytes : Targetint.t;
    }
  77. | DW_op_bregx of {
    1. reg_number : int;
    2. offset_in_bytes : Targetint.t;
    }
  78. | DW_op_dup
  79. | DW_op_drop
  80. | DW_op_pick
  81. | DW_op_over
  82. | DW_op_swap
  83. | DW_op_rot
  84. | DW_op_deref
  85. | DW_op_deref_size of Uint8.t
  86. | DW_op_xderef
  87. | DW_op_xderef_size of Uint8.t
  88. | DW_op_push_object_address
  89. | DW_op_form_tls_address
  90. | DW_op_call_frame_cfa
  91. | DW_op_abs
  92. | DW_op_and
  93. | DW_op_div
  94. | DW_op_minus
  95. | DW_op_mod
  96. | DW_op_mul
  97. | DW_op_neg
  98. | DW_op_not
  99. | DW_op_or
  100. | DW_op_plus
  101. | DW_op_plus_uconst of Uint64.t
  102. | DW_op_shl
  103. | DW_op_shr
  104. | DW_op_shra
  105. | DW_op_xor
  106. | DW_op_le
  107. | DW_op_ge
  108. | DW_op_eq
  109. | DW_op_lt
  110. | DW_op_gt
  111. | DW_op_ne
  112. | DW_op_skip of {
    1. num_bytes_forward : Int16.t;
    }
  113. | DW_op_bra of {
    1. num_bytes_forward : Int16.t;
    }
  114. | DW_op_call2 of {
    1. label : Asm_targets.Asm_label.t;
    2. compilation_unit_header_label : Asm_targets.Asm_label.t;
    }
  115. | DW_op_call4 of {
    1. label : Asm_targets.Asm_label.t;
    2. compilation_unit_header_label : Asm_targets.Asm_label.t;
    }
  116. | DW_op_call_ref of {
    1. label : Asm_targets.Asm_label.t;
    2. compilation_unit_header_label : Asm_targets.Asm_label.t;
    }
  117. | DW_op_nop
  118. | DW_op_reg0
  119. | DW_op_reg1
  120. | DW_op_reg2
  121. | DW_op_reg3
  122. | DW_op_reg4
  123. | DW_op_reg5
  124. | DW_op_reg6
  125. | DW_op_reg7
  126. | DW_op_reg8
  127. | DW_op_reg9
  128. | DW_op_reg10
  129. | DW_op_reg11
  130. | DW_op_reg12
  131. | DW_op_reg13
  132. | DW_op_reg14
  133. | DW_op_reg15
  134. | DW_op_reg16
  135. | DW_op_reg17
  136. | DW_op_reg18
  137. | DW_op_reg19
  138. | DW_op_reg20
  139. | DW_op_reg21
  140. | DW_op_reg22
  141. | DW_op_reg23
  142. | DW_op_reg24
  143. | DW_op_reg25
  144. | DW_op_reg26
  145. | DW_op_reg27
  146. | DW_op_reg28
  147. | DW_op_reg29
  148. | DW_op_reg30
  149. | DW_op_reg31
  150. | DW_op_regx of {
    1. reg_number : int;
    }
  151. | DW_op_implicit_value of Dwarf_low.Dwarf_operator.implicit_value
  152. | DW_op_stack_value
  153. | DW_op_piece of {
    1. size_in_bytes : Targetint.t;
    }
  154. | DW_op_bit_piece of {
    1. size_in_bits : Targetint.t;
    2. offset_in_bits : Targetint.t;
    }
  155. | DW_op_implicit_pointer of {
    1. label : Asm_targets.Asm_label.t;
    2. offset_in_bytes : Targetint.t;
    }
  156. | DW_op_GNU_implicit_pointer of {
    1. label : Asm_targets.Asm_label.t;
    2. offset_in_bytes : Targetint.t;
    }
val opcode_name : Dwarf_low.Dwarf_operator.t -> string
val opcode : Dwarf_low.Dwarf_operator.t -> int
val caml_string_set32 : bytes -> index:int -> Stdlib.Int32.t -> unit
val caml_string_set64 : bytes -> index:int -> Stdlib.Int64.t -> unit
module Make (M : sig ... end) : sig ... end
module Print : sig ... end
module Size : sig ... end
module Emit : sig ... end