aboutsummaryrefslogtreecommitdiff
path: root/docs/history/10-zc/code/examples/selfpatch.zc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/history/10-zc/code/examples/selfpatch.zc')
-rw-r--r--docs/history/10-zc/code/examples/selfpatch.zc17
1 files changed, 0 insertions, 17 deletions
diff --git a/docs/history/10-zc/code/examples/selfpatch.zc b/docs/history/10-zc/code/examples/selfpatch.zc
deleted file mode 100644
index 35a4843..0000000
--- a/docs/history/10-zc/code/examples/selfpatch.zc
+++ /dev/null
@@ -1,17 +0,0 @@
-// code is data: find the literal 'A' inside f's compiled words and rewrite it.
-// on the jit the store lands on translated code, which gets dropped and
-// retranslated on the next call.
-fn f() { putc('A'); return 0; }
-fn litw(v) { return v + v + 1; } // how the vm encodes a literal push
-fn main()
-{
- var p = f;
- f();
- while (*p != litw('A')) p++;
- *p = litw('B');
- f();
- *p = litw('C');
- f();
- putc(10);
- return 0;
-}