From 94a3482e494d577f83a6ec94b80123db692cd778 Mon Sep 17 00:00:00 2001 From: dschmenk Date: Tue, 27 Oct 2015 15:33:14 -0700 Subject: [PATCH] Re-org VM ZP for more efficient fiber state swapping --- src/libsrc/fiber.pla | 3 ++- src/vmsrc/plvmzp.inc | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/libsrc/fiber.pla b/src/libsrc/fiber.pla index 598fbd9..92e3d83 100644 --- a/src/libsrc/fiber.pla +++ b/src/libsrc/fiber.pla @@ -31,9 +31,9 @@ byte fbrRunning = 0 struc t_vm byte estklo[$10] byte estkhi[$10] + byte esp word ifp word pp - byte esp byte hwsp byte fill[9] byte drop @@ -294,6 +294,7 @@ def fbrTest(fid, param) next end +//puts("fbrSwap = "); puth(@fbrSwap); putln fbrInit(4) fbrStart(@fbrTest, 3) fbrStart(@fbrTest, 2) diff --git a/src/vmsrc/plvmzp.inc b/src/vmsrc/plvmzp.inc index 4dfba07..82140ec 100644 --- a/src/vmsrc/plvmzp.inc +++ b/src/vmsrc/plvmzp.inc @@ -14,15 +14,15 @@ ESTK = $C0 ESTKL = ESTK ESTKH = ESTK+ESTKSZ/2 VMZP = ESTK+ESTKSZ -IFP = VMZP +ESP = VMZP +DVSIGN = VMZP +IFP = ESP+1 IFPL = IFP IFPH = IFP+1 PP = IFP+2 PPL = PP PPH = PP+1 -DVSIGN = PP+2 -ESP = PP+2 -IPY = ESP+1 +IPY = PP+2 TMP = IPY+1 TMPL = TMP TMPH = TMP+1