From 7c54e48bca711a6596be4bb17fcaa4330b9928e3 Mon Sep 17 00:00:00 2001 From: zinc Date: Wed, 14 Oct 2026 15:52:01 +0330 Subject: line tables and backtraces: port agent/line-tables onto main, op 56 on the x86-64 jit, docs, measurements, tests; default genome reservation 0x68000 --- src/micro/micro.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/micro/micro.c') diff --git a/src/micro/micro.c b/src/micro/micro.c index f598c80..23994dd 100644 --- a/src/micro/micro.c +++ b/src/micro/micro.c @@ -530,6 +530,9 @@ static int run_from(int p, int s, int r) Cell dst = m[a + 2], cap = m[a + 3]; if (dst < 0 || cap <= n || (UCell)dst > mw || (UCell)cap > mw - (UCell)dst) result = -1; else { for (i = 0; i < n; i++) m[dst + i] = (unsigned char)text[i]; m[dst + n] = 0; result = n; } + } else if (b == 56) { + /* the return stack pointer: the word after the top return address */ + result = r; } else if (b == 42) { /* poll: a streaming port suspends once, so its host can deliver input that is waiting */ result = micro_syscall(m, b, 0, 0, 0); -- cgit v1.2.3