summary refs log tree commit diff
path: root/transform.e
diff options
context:
space:
mode:
Diffstat (limited to 'transform.e')
-rw-r--r--transform.e17
1 files changed, 17 insertions, 0 deletions
diff --git a/transform.e b/transform.e
index e987689..e6c4af5 100644
--- a/transform.e
+++ b/transform.e
@@ -2604,6 +2604,23 @@ allocate-transformation-state s" transformation-state" variable
 ~ (output buffer start, output point, input string pointer, delimiter pointer
 ~  -- output buffer start, output point)
 : log-load-transform
+  ~ :   This is the start of the log-load routine, which is a long block of
+  ~ : code that has been processed by the log-load transform. It is part of
+  ~ : the warm-start routine, which does other things before and after it.
+  ~ : For clarity's sake, to avoid weird nesting, the section header above
+  ~ : calls this the warm-start section of the executable, but in a sense it
+  ~ : might be more accurate to call it the log-load section.
+  ~ :
+  ~ :   The routine is interpreted Forth code, just as the warm-start routine
+  ~ : as a whole is; see above.
+  ~ :
+  ~ :   The job of the log-load routine is to create runnable code in the
+  ~ : dynamic log, at runtime. The normal way to create a Forth executable
+  ~ : is to use label-transformed code to implement a minimal set of
+  ~ : functionality needed for the log-load routine to run, then invoke the
+  ~ : log-load routine to copy a more complete set of functionality into
+  ~ : memory.
+
   main-input-buffer dup push-input-buffer
   3roll attach-string-to-input-buffer