Module CamlinternalOOSource

Run-time support for objects and classes. All functions in this module are for system use only, not for the casual user.

Classes

Sourcetype tag
Sourcetype label
Sourcetype table
Sourcetype meth
Sourcetype t
Sourcetype obj
Sourcetype closure
Sourceval public_method_label : string -> tag
Sourceval new_method : table -> label
Sourceval new_variable : table -> string -> int
Sourceval new_methods_variables : table -> string array -> string array -> label array
Sourceval get_variable : table -> string -> int
Sourceval get_variables : table -> string array -> int array
Sourceval get_method_label : table -> string -> label
Sourceval get_method_labels : table -> string array -> label array
Sourceval get_method : table -> label -> meth
Sourceval set_method : table -> label -> meth -> unit
Sourceval set_methods : table -> label array -> unit
Sourceval narrow : table -> string array -> string array -> string array -> unit
Sourceval widen : table -> unit
Sourceval add_initializer : table -> (obj -> unit) -> unit
Sourceval dummy_table : table
Sourceval create_table : string array -> table
Sourceval init_class : table -> unit
Sourceval inherits : table -> string array -> string array -> string array -> (t * (table -> obj -> Obj.t) * t * obj) -> bool -> Obj.t array
Sourceval make_class : string array -> (table -> Obj.t -> t) -> t * (table -> Obj.t -> t) * (Obj.t -> t) * Obj.t
Sourcetype init_table
Sourceval make_class_store : string array -> (table -> t) -> init_table -> unit
Sourceval dummy_class : (string * int * int) -> t * (table -> Obj.t -> t) * (Obj.t -> t) * Obj.t

Objects

Sourceval copy : < .. > as 'a -> 'a
Sourceval create_object : table -> obj
Sourceval create_object_opt : obj -> table -> obj
Sourceval run_initializers : obj -> table -> unit
Sourceval run_initializers_opt : obj -> obj -> table -> obj
Sourceval create_object_and_run_initializers : obj -> table -> obj
Sourceval send : obj -> tag -> t
Sourceval sendcache : obj -> tag -> t -> int -> t
Sourceval sendself : obj -> label -> t
Sourceval get_public_method : obj -> tag -> closure

Table cache

Sourcetype tables
Sourceval lookup_tables : tables -> closure array -> tables

Builtins to reduce code size

Sourcetype impl =
  1. | GetConst
  2. | GetVar
  3. | GetEnv
  4. | GetMeth
  5. | SetVar
  6. | AppConst
  7. | AppVar
  8. | AppEnv
  9. | AppMeth
  10. | AppConstConst
  11. | AppConstVar
  12. | AppConstEnv
  13. | AppConstMeth
  14. | AppVarConst
  15. | AppEnvConst
  16. | AppMethConst
  17. | MethAppConst
  18. | MethAppVar
  19. | MethAppEnv
  20. | MethAppMeth
  21. | SendConst
  22. | SendVar
  23. | SendEnv
  24. | SendMeth
  25. | Closure of closure

Parameters

Sourcetype params = {
  1. mutable compact_table : bool;
  2. mutable copy_parent : bool;
  3. mutable clean_when_copying : bool;
  4. mutable retry_count : int;
  5. mutable bucket_small_size : int;
}
Sourceval params : params

Statistics

Sourcetype stats = {
  1. classes : int;
  2. methods : int;
  3. inst_vars : int;
}
Sourceval stats : unit -> stats