From 6033c2e90eb854af1147072be0b192ae8cd62d99 Mon Sep 17 00:00:00 2001 From: dzaima Date: Sun, 29 May 2022 16:12:14 +0300 Subject: [PATCH] flush pipes in g_pst --- src/core/stuff.c | 2 +- src/vm.h | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/core/stuff.c b/src/core/stuff.c index e7e81a42..15337f2c 100644 --- a/src/core/stuff.c +++ b/src/core/stuff.c @@ -827,7 +827,7 @@ void g_p(B x) { print(x); putchar(10); fflush(stdout); } void g_i(B x) { B r = info_c2(x, m_f64(1), inc(x)); print(r); dec(r); putchar(10); fflush(stdout); } void g_pv(void* x) { print(tag(x,OBJ_TAG)); putchar(10); fflush(stdout); } void g_iv(void* x) { B xo = tag(x, OBJ_TAG); B r = info_c2(xo, m_f64(1), inc(xo)); print(r); dec(r); putchar(10); fflush(stdout); } -void g_pst(void) { vm_pstLive(); } +void g_pst(void) { vm_pstLive(); fflush(stdout); fflush(stderr); } #ifdef DEBUG #ifdef OBJ_COUNTER diff --git a/src/vm.h b/src/vm.h index 47d4b9ec..1f84d51f 100644 --- a/src/vm.h +++ b/src/vm.h @@ -218,9 +218,10 @@ extern Env* envEnd; extern u64 envPrevHeight; // envStart+prevEnvHeight gives envCurr+1 from before the error static inline void pushEnv(Scope* sc, u32* bc) { if (envCurr+1==envEnd) thrM("Stack overflow"); - envCurr++; - envCurr->sc = sc; - envCurr->pos = (u64)bc; + Env* e = envCurr+1; + e->sc = sc; + e->pos = (u64)bc; + envCurr = e; } static inline void popEnv() { assert(envCurr>=envStart);