module CamlinternalOO: sig .. end
Run-time support for objects and classes.
    All functions in this module are for system use only, not for the
    casual user.
Classes
 
type tag 
 
type label 
 
type table 
 
type meth 
 
type t 
 
type obj 
 
type closure 
 
val public_method_label : string -> tag 
 
 
val new_variable : table -> string -> int 
 
val new_methods_variables : table ->
       string array -> string array -> label array 
 
val get_variable : table -> string -> int 
 
val get_variables : table -> string array -> int array 
 
 
val get_method_labels : table -> string array -> label array 
 
 
 
 
val narrow : table -> string array -> string array -> string array -> unit 
 
val widen : table -> unit 
 
val add_initializer : table -> (obj -> unit) -> unit 
 
 
val create_table : string array -> table 
 
val init_class : table -> unit 
 
 
 
type init_table 
 
 
 
Objects
 
val copy : (< .. > as 'a) -> 'a
 
 
 
val run_initializers : obj -> table -> unit 
 
 
val create_object_and_run_initializers : obj -> table -> obj 
 
 
val sendcache : obj ->
       tag -> t -> int -> t 
 
 
 
Table cache
 
type tables 
 
 
Builtins to reduce code size
 
type impl = 
| 
| | 
 GetConst | 
| 
| | 
 GetVar | 
| 
| | 
 GetEnv | 
| 
| | 
 GetMeth | 
| 
| | 
 SetVar | 
| 
| | 
 AppConst | 
| 
| | 
 AppVar | 
| 
| | 
 AppEnv | 
| 
| | 
 AppMeth | 
| 
| | 
 AppConstConst | 
| 
| | 
 AppConstVar | 
| 
| | 
 AppConstEnv | 
| 
| | 
 AppConstMeth | 
| 
| | 
 AppVarConst | 
| 
| | 
 AppEnvConst | 
| 
| | 
 AppMethConst | 
| 
| | 
 MethAppConst | 
| 
| | 
 MethAppVar | 
| 
| | 
 MethAppEnv | 
| 
| | 
 MethAppMeth | 
| 
| | 
 SendConst | 
| 
| | 
 SendVar | 
| 
| | 
 SendEnv | 
| 
| | 
 SendMeth | 
| 
| | 
 Closure of closure | 
 
 
Parameters
 
type params = {
| 
   | 
mutable compact_table : bool; | 
| 
   | 
mutable copy_parent : bool; | 
| 
   | 
mutable clean_when_copying : bool; | 
| 
   | 
mutable retry_count : int; | 
| 
   | 
mutable bucket_small_size : int; | 
}
 
 
 
Statistics
 
type stats = {
| 
   | 
classes : int; | 
| 
   | 
methods : int; | 
| 
   | 
inst_vars : int; | 
}
 
 
val stats : unit -> stats