Module CamlinternalOO
Run-time support for objects and classes. All functions in this module are for system use only, not for the casual user.
Classes
val public_method_label : string -> tag
val new_method : table -> label
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_label : table -> string -> label
val get_method_labels : table -> string array -> label array
val get_method : table -> label -> meth
val set_method : table -> label -> meth -> unit
val set_methods : table -> label array -> unit
val narrow : table -> string array -> string array -> string array -> unit
val widen : table -> unit
val add_initializer : table -> (obj -> unit) -> unit
val dummy_table : table
val create_table : string array -> table
val init_class : table -> unit
val inherits : table -> string array -> string array -> string array -> (t * (table -> obj -> Stdlib.Obj.t) * t * obj) -> bool -> Stdlib.Obj.t array
val make_class : string array -> (table -> Stdlib.Obj.t -> t) -> t * (table -> Stdlib.Obj.t -> t) * (Stdlib.Obj.t -> t) * Stdlib.Obj.t
val make_class_store : string array -> (table -> t) -> init_table -> unit
val dummy_class : (string * int * int) -> t * (table -> Stdlib.Obj.t -> t) * (Stdlib.Obj.t -> t) * Stdlib.Obj.t
Objects
Table cache
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;
}
val params : params
Statistics
val stats : unit -> stats