summaryrefslogtreecommitdiff
path: root/HACKING.adoc
diff options
context:
space:
mode:
authorGabriel Scherer <gabriel.scherer@gmail.com>2022-04-05 16:32:21 +0200
committerGitHub <noreply@github.com>2022-04-05 16:32:21 +0200
commit6b7301bd093454fb6d1fc53692e4686f66d226fa (patch)
treeea6b21c7773cfd19f3f8ca3fca4134df861dad49 /HACKING.adoc
parent730efbafc90c4555da6a5bbbdc488199d21d88d2 (diff)
downloadocaml-6b7301bd093454fb6d1fc53692e4686f66d226fa.tar.gz
runtime/HACKING.adoc: tips on debugging the runtime (#11058)
Diffstat (limited to 'HACKING.adoc')
-rw-r--r--HACKING.adoc15
1 files changed, 15 insertions, 0 deletions
diff --git a/HACKING.adoc b/HACKING.adoc
index 68faafb332..d751186899 100644
--- a/HACKING.adoc
+++ b/HACKING.adoc
@@ -127,6 +127,21 @@ link:typing/HACKING.adoc[].
=== Runtime system
+The low-level routines that OCaml programs use during their execution:
+garbage collection, interaction with the operating system
+(IO in particular), low-level primitives to manipulate some OCaml data
+structures, etc. Mostly implemented in C, with some rare bits of
+assembly code in architecture-specific files. The "includes"
+corresponding to the `.c` files are in the link:runtime/caml[]
+subdirectory.
+
+Some files are only used by bytecode programs, some only used by
+native-compiled programs, but most of the runtime code is
+common. (See link:runtime/Makefile[] for the list of common,
+bytecode-only and native-only source files.)
+
+See link:runtime/HACKING.adoc[].
+
=== Libraries
link:stdlib/[]:: The standard library. Each file is largely