summary refs log tree commit diff
path: root/evoke.e
diff options
context:
space:
mode:
Diffstat (limited to 'evoke.e')
-rw-r--r--evoke.e52
1 files changed, 5 insertions, 47 deletions
diff --git a/evoke.e b/evoke.e
index 1d545b1..fa9ccb0 100644
--- a/evoke.e
+++ b/evoke.e
@@ -1,57 +1,15 @@
 ~ (cat labels.e elf.e transform.e execution.e \
-~  echo 131072 read-to-buffer; \
+~  echo 262144 read-to-buffer; \
 ~  cat core.e core-plus.e linux.e output.e \
 ~      amd64.e execution-support.e log-load.e; \
-~  echo pyrzqxgl; \
+~  echo pyrzqxgl 262144 read-to-buffer; \
+~  cat core.e; \
+~  echo 0 sys-exit pyrzqxgl; \
 ~  cat evoke.e) \
 ~     | ./quine > evoke && chmod 755 evoke && ./evoke
 
-s" source-to-precompile" variable
-
-1024 read-to-buffer
-~   We begin by outputting the actual docol routine, the one that codewords
-~ should point to. Note that this is before we've done any word header.
-here @
-dup L!' docol-codeword-value
-:rsi pack-pushcontrol
-8 :rax add-reg64-imm8
-:rax :rsi mov-reg64-reg64
-pack-next
-8 packalign
-here !
-
-~   We can't use colon to create docol, not even the part that's a word,
-~ because colon tries to dynamically invoke docol to fill in the codeword.
-s" docol" create
-here @
-dup 8 + pack64
-L@' docol-codeword-value :rax mov-reg64-imm64
-:rax push-reg64
-pack-next
-8 packalign
-here !
-
-~   Now that we have docol, colon will work and we can define exit the normal
-~ way.
-: exit
-  [ here @
-    :rsi pack-popcontrol
-    here ! ] ;asm
-
-~   Now that we have exit, semicolon will also work and we can define
-~ non-assembly words. However, it will be hard to make them do much until we
-~ have lit as well.
-: lit
-  [ here @
-    lods64
-    :rax push-reg64
-    here ! ] ;asm
-
-42 sys-exit
-
-pyrzqxgl
-~ 0 sys-exit
 s" source-to-copy-to-log" variable
+s" source-to-precompile" variable
 
 ~ (output memory start, current output point
 ~  -- output memory start, current output point)