summaryrefslogtreecommitdiff
path: root/docs/2026_REBASE/backend.js
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-10-04 13:30:41 -0700
committerCliff Click <cliffc@acm.org>2026-10-04 13:30:41 -0700
commita4994371c0b0fbea9d2802acc22d9cc3977a0de0 (patch)
tree98fd05869028a931f5ec8cf503b5cdf6b6c52e87 /docs/2026_REBASE/backend.js
parent9149ea7a50c564856bd09633f38d980e8230c34f (diff)
downloadSimple-readme.tar.gz
Simple-readme.zip
Slides for 2026 REBASEreadme
Diffstat (limited to 'docs/2026_REBASE/backend.js')
-rw-r--r--docs/2026_REBASE/backend.js7
1 files changed, 7 insertions, 0 deletions
diff --git a/docs/2026_REBASE/backend.js b/docs/2026_REBASE/backend.js
new file mode 100644
index 00000000..91ffb239
--- /dev/null
+++ b/docs/2026_REBASE/backend.js
@@ -0,0 +1,7 @@
+/* Generated by tools/BackendDump.java; Chapter 21, x86-64 System V. */
+window.REBASE.backend = {
+ source: "struct Box { int x; };\nreturn { !Box box, int arg ->\n int n = arg < 0 ? -arg : arg;\n box.x += n;\n return n;\n};\n",
+ selected: "id node inputs\n 7 StartNode _ _ _\n11 ConstantNode 7\n15 ConstantNode 7\n18 ConstantNode 7\n22 ConstantNode 7\n 6 FunX86 _ 7\n10 ParmX86:arg 6 11\n14 ParmX86:$mem 6 15\n17 ParmX86:box 6 18\n21 ParmX86:$rpc 6 22\n 8 CmpIX86 _ 10\n20 NegX86 _ 10\n 5 JmpX86 6 8\n12 CProjNode:False 5\n 4 CProjNode:True 5\n 3 RegionNode _ 4 12\n19 PhiNode 3 20 10\n16 MemAddX86 _ 14 17 _ 19\n13 MemMergeNode _ 14 16\n 2 RetX86 3 13 19 21\n 1 StopNode 2\n",
+ assembly: "\n--- { *Box {int !x; } int -> int #0}---------------------------\n arg rsi\n box rdi\n r15 // r15\n r14 // r14\n r13 // r13\n r12 // r12\n rbp // rbp\n rbx // rbx\n0000 mov rax = rsi // def/empty1 #0\n0000 test rax \n0000 j< L4 // L12\nL12:\n0000 ?? JMP L3\nL4:\n0001 neg rax \nL3:\n rax = phi( N20,N33 )\n0001 add8 [rdi] += rax \n0001 ret rax [stk#33] rbx rbp r12 r13 r14 r15 \n--- ---------------------------\n",
+ encoded: "\n--- { *Box {int !x; } int -> int #0}---------------------------\n arg:rsi,box:rdi\n0000 488bc6 mov rax = rsi // def/empty1 #0\n0003 4883f800 test rax \n0007 7d03 j>= L3 // L4\nL4:\n0009 48f7d8 neg rax \nL12:\nL3:\n :rax\n000c 480107 add8 [rdi] += rax \n000f c3 ret \n--- ---------------------------\n"
+};