package tiny_languages

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module St_memorySource

Sourcetype oop = int
Sourcetype body =
  1. | Pointers of oop array
  2. | Bytes of Bytes.t
  3. | Float of float
  4. | Method of oop array * Bytes.t
  5. | Free
Sourcetype known = {
  1. mutable small_integer : oop;
  2. mutable string : oop;
  3. mutable symbol : oop;
  4. mutable array : oop;
  5. mutable float : oop;
  6. mutable character : oop;
  7. mutable compiled_method : oop;
  8. mutable method_context : oop;
  9. mutable block_context : oop;
  10. mutable block_closure : oop;
  11. mutable message : oop;
  12. mutable association : oop;
  13. mutable point : oop;
  14. mutable large_positive : oop;
  15. mutable large_negative : oop;
  16. mutable metaclass : oop;
  17. mutable method_dictionary : oop;
  18. mutable true_ : oop;
  19. mutable false_ : oop;
  20. mutable smalltalk : oop;
  21. mutable characters : oop array;
  22. mutable special_selectors : oop array;
}
Sourcetype t
Sourceval create : unit -> t
Sourceval known : t -> known
Sourceval nil : oop
Sourceval is_int : oop -> bool
Sourceval int_of : oop -> int
Sourceval of_int : int -> oop
Sourceval fits : int -> bool
Sourceval alloc : t -> cls:oop -> body -> oop
Sourceval escaped : t -> oop -> bool
Sourceval escape : t -> oop -> unit
Sourceval class_of : t -> oop -> oop
Sourceval set_class : t -> oop -> oop -> unit
Sourceval body : t -> oop -> body
Sourceval set_body : t -> oop -> body -> unit
Sourceval fetch : t -> oop -> int -> oop
Sourceval store : t -> oop -> int -> oop -> unit
Sourceval size : t -> oop -> int
Sourceval fields : t -> oop -> oop array
Sourceval string_of : t -> oop -> string
Sourceval new_string : t -> string -> oop
Sourceval new_array : t -> oop array -> oop
Sourceval new_float : t -> float -> oop
Sourceval float_of : t -> oop -> float
Sourceval symbol : t -> string -> oop
Sourceval symbols : t -> (string * oop) list
Sourceval become : t -> oop -> oop -> unit
Sourceval instances : t -> oop -> oop list
Sourceval live : t -> int
Sourceval allocated : t -> int
Sourceval gc : t -> roots:oop list -> int
Sourceval entries : t -> (int * oop * body) list
Sourceval restore : known -> (int * oop * body) list -> t