package js_of_ocaml-compiler

  1. Overview
  2. Docs
type t =
  1. | ACC0
  2. | ACC1
  3. | ACC2
  4. | ACC3
  5. | ACC4
  6. | ACC5
  7. | ACC6
  8. | ACC7
  9. | ACC
  10. | PUSH
  11. | PUSHACC0
  12. | PUSHACC1
  13. | PUSHACC2
  14. | PUSHACC3
  15. | PUSHACC4
  16. | PUSHACC5
  17. | PUSHACC6
  18. | PUSHACC7
  19. | PUSHACC
  20. | POP
  21. | ASSIGN
  22. | ENVACC1
  23. | ENVACC2
  24. | ENVACC3
  25. | ENVACC4
  26. | ENVACC
  27. | PUSHENVACC1
  28. | PUSHENVACC2
  29. | PUSHENVACC3
  30. | PUSHENVACC4
  31. | PUSHENVACC
  32. | PUSH_RETADDR
  33. | APPLY
  34. | APPLY1
  35. | APPLY2
  36. | APPLY3
  37. | APPTERM
  38. | APPTERM1
  39. | APPTERM2
  40. | APPTERM3
  41. | RETURN
  42. | RESTART
  43. | GRAB
  44. | CLOSURE
  45. | CLOSUREREC
  46. | OFFSETCLOSUREM2
  47. | OFFSETCLOSURE0
  48. | OFFSETCLOSURE2
  49. | OFFSETCLOSURE
  50. | PUSHOFFSETCLOSUREM2
  51. | PUSHOFFSETCLOSURE0
  52. | PUSHOFFSETCLOSURE2
  53. | PUSHOFFSETCLOSURE
  54. | GETGLOBAL
  55. | PUSHGETGLOBAL
  56. | GETGLOBALFIELD
  57. | PUSHGETGLOBALFIELD
  58. | SETGLOBAL
  59. | ATOM0
  60. | ATOM
  61. | PUSHATOM0
  62. | PUSHATOM
  63. | MAKEBLOCK
  64. | MAKEBLOCK1
  65. | MAKEBLOCK2
  66. | MAKEBLOCK3
  67. | MAKEFLOATBLOCK
  68. | GETFIELD0
  69. | GETFIELD1
  70. | GETFIELD2
  71. | GETFIELD3
  72. | GETFIELD
  73. | GETFLOATFIELD
  74. | SETFIELD0
  75. | SETFIELD1
  76. | SETFIELD2
  77. | SETFIELD3
  78. | SETFIELD
  79. | SETFLOATFIELD
  80. | VECTLENGTH
  81. | GETVECTITEM
  82. | SETVECTITEM
  83. | GETSTRINGCHAR
  84. | SETSTRINGCHAR
  85. | BRANCH
  86. | BRANCHIF
  87. | BRANCHIFNOT
  88. | SWITCH
  89. | BOOLNOT
  90. | PUSHTRAP
  91. | POPTRAP
  92. | RAISE
  93. | CHECK_SIGNALS
  94. | C_CALL1
  95. | C_CALL2
  96. | C_CALL3
  97. | C_CALL4
  98. | C_CALL5
  99. | C_CALLN
  100. | CONST0
  101. | CONST1
  102. | CONST2
  103. | CONST3
  104. | CONSTINT
  105. | PUSHCONST0
  106. | PUSHCONST1
  107. | PUSHCONST2
  108. | PUSHCONST3
  109. | PUSHCONSTINT
  110. | NEGINT
  111. | ADDINT
  112. | SUBINT
  113. | MULINT
  114. | DIVINT
  115. | MODINT
  116. | ANDINT
  117. | ORINT
  118. | XORINT
  119. | LSLINT
  120. | LSRINT
  121. | ASRINT
  122. | EQ
  123. | NEQ
  124. | LTINT
  125. | LEINT
  126. | GTINT
  127. | GEINT
  128. | OFFSETINT
  129. | OFFSETREF
  130. | ISINT
  131. | GETMETHOD
  132. | BEQ
  133. | BNEQ
  134. | BLTINT
  135. | BLEINT
  136. | BGTINT
  137. | BGEINT
  138. | ULTINT
  139. | UGEINT
  140. | BULTINT
  141. | BUGEINT
  142. | GETPUBMET
  143. | GETDYNMET
  144. | STOP
  145. | EVENT
  146. | BREAK
  147. | RERAISE
  148. | RAISE_NOTRACE
  149. | FIRST_UNIMPLEMENTED_OP
type kind =
  1. | KNullary
  2. | KUnary
  3. | KBinary
  4. | KJump
  5. | KCond_jump
  6. | KCmp_jump
  7. | KSwitch
  8. | KClosurerec
  9. | KClosure
  10. | KNullaryCall
  11. | KUnaryCall
  12. | KBinaryCall
  13. | KStop of int
  14. | K_will_not_happen
type desc = {
  1. code : t;
  2. kind : kind;
  3. name : string;
  4. opcode : int;
}
exception Bad_instruction of int
val get_instr : string -> int -> desc
val gets : string -> int -> int
val getu : string -> int -> int
val gets32 : string -> int -> int32
val getu32 : string -> int -> int32
val compile_to_string : [ `C of int | `I of t ] list -> string
val print_obj : Format.formatter -> Obj.t -> unit
OCaml

Innovation. Community. Security.