aboutsummaryrefslogtreecommitdiffstats
path: root/prototypes/connections/module.h
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-25 15:08:34 +0100
committereunhhu <[email protected]>2026-09-25 15:08:34 +0100
commit2ae802cfaa3dae01627d4c80e2655fb5e69f4e1e (patch)
treed78772098f1f22f08c4c413dc92a244939677184 /prototypes/connections/module.h
parent82f685e5583d3edc4e5d9d327e9925705ce51b1d (diff)
downloadpure-2ae802cfaa3dae01627d4c80e2655fb5e69f4e1e.tar.gz
pure-2ae802cfaa3dae01627d4c80e2655fb5e69f4e1e.zip
Add stack copies to Pure modules
PICK copies the value n below the top, with its type and owner; SLIDE drops n values under the top. A toolchain can compute a function's arguments once and read each as often as the inlined body needs, instead of repeating the argument's code. The format stays v5: no producer has shipped modules without them.
Diffstat (limited to 'prototypes/connections/module.h')
-rw-r--r--prototypes/connections/module.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/prototypes/connections/module.h b/prototypes/connections/module.h
index 749f9d0..dd20d4a 100644
--- a/prototypes/connections/module.h
+++ b/prototypes/connections/module.h
@@ -37,6 +37,7 @@ typedef enum {
PURE_OP_LIST_COUNT, PURE_OP_LIST_APPEND, PURE_OP_LIST_INSERT, PURE_OP_LIST_REMOVE,
PURE_OP_ITEM_GET, PURE_OP_ITEM_SET, PURE_OP_INDEX_LOAD, PURE_OP_INDEX_STORE,
PURE_OP_INDEX_MOVE, PURE_OP_INDEX_FIRST, PURE_OP_INDEX_LAST, PURE_OP_INDEX_NUM, PURE_OP_ROW,
+ PURE_OP_PICK, PURE_OP_SLIDE,
PURE_OP_COUNT
} PureOpcode;