blob: fed577158a703880bfc2b72fdd73290656a462db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
open Names
open Cbytecodes
type reloc_info =
| Reloc_annot of annot_switch
| Reloc_const of structured_constant
| Reloc_getglobal of constant
type patch = reloc_info * int
(* A virer *)
val subst_patch : substitution -> patch -> patch
type emitcodes
val length : emitcodes -> int
val patch_int : emitcodes -> (*pos*)int -> int -> unit
val patch_getglobal : emitcodes -> (*pos*)int -> (bool*int) -> unit
type to_patch = emitcodes * (patch list) * fv
val subst_to_patch : substitution -> to_patch -> to_patch
type body_code =
| BCdefined of bool*to_patch
| BCallias of constant
| BCconstant
type to_patch_substituted
val from_val : body_code -> to_patch_substituted
val force : to_patch_substituted -> body_code
val is_boxed : to_patch_substituted -> bool
val subst_to_patch_subst : substitution -> to_patch_substituted -> to_patch_substituted
val to_memory : bytecodes * bytecodes * fv -> to_patch
(* init code, fun code, fv *)
|