In part 1 and part 2 I talked about values and blocks, and in part 3 and part 4 I discussed where those are stored in the OCaml heap.
In this part I want to talk about garbage collection, but actually not about how the heap is scanned or colouring algorithms because there are much better [...]
Posts Tagged as ‘ocaml internals’
August 8, 2009
OCaml internals part 5: Garbage collection
August 7, 2009
OCaml internals part 4: The major heap
[What's this all about? Start at part 1]
In part 3 we looked at the minor heap. In this part we’ll look at the other bit, not surprisingly called the major heap.
The major heap is the main OCaml memory store. It is composed of some number of large chunks of memory (allocated by [...]
August 6, 2009
OCaml internals part 3: The minor heap
In part 1 we learned about values and in part 2 we learned about blocks. Values and blocks are the toolkit used to make every OCaml type. But where do OCaml blocks live? In this part we’ll start to look at the OCaml heap.
Most OCaml blocks are created in the minor (or [...]
August 5, 2009
OCaml internals part 2: Strings and other types
In part 1 we saw how integers and some integer-like things are represented at runtime in OCaml.
Objects which are large or more complex than simple integers are stored in OCaml blocks. An OCaml block consists of a header followed by an array of words. Word in this context means a 4 or 8 [...]
August 4, 2009
A beginners guide to OCaml internals
In this 6 part series, I’m going to introduce the internals of the OCaml programming language (tutorial and other references here). This isn’t going to be very comprehensive or in-depth. It’s more of a digest of the readily available information that I found by reading the manual, header files, and some of the compiler [...]