From 112f90aed6c636816f40afc88ae63af0966c9e3a Mon Sep 17 00:00:00 2001 From: forsyth Date: Sun, 13 Dec 2009 16:25:26 +0000 Subject: 20091213-1625 --- CHANGES | 2 ++ emu/port/dis.c | 3 ++- include/version.h | 2 +- os/port/dis.c | 3 ++- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index d6653e2b..3e737607 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +20091213 + temper the tendancy of port/dis.c to yield during idle gc: it's compensating for os scheduling, but yield less often 20091208 add mkdir -p to makemk.sh to ensure output directories exist [issue 213] 20091127 diff --git a/emu/port/dis.c b/emu/port/dis.c index 7f8db7b2..881bd81f 100644 --- a/emu/port/dis.c +++ b/emu/port/dis.c @@ -104,7 +104,8 @@ execatidle(void) } rungc(isched.head); gcidlepass++; - osyield(); + if(((ulong)gcidlepass&0xFF) == 0) + osyield(); } up->type = Interp; delrunq(up->prog); diff --git a/include/version.h b/include/version.h index 9f1e021d..7579ef5a 100644 --- a/include/version.h +++ b/include/version.h @@ -1 +1 @@ -#define VERSION "Fourth Edition (20091208)" +#define VERSION "Fourth Edition (20091213)" diff --git a/os/port/dis.c b/os/port/dis.c index 8859a1b9..0eb2d190 100644 --- a/os/port/dis.c +++ b/os/port/dis.c @@ -119,7 +119,8 @@ execatidle(void) } rungc(isched.head); gcidlepass++; - sched(); + if(((ulong)gcidlepass&0xFF) == 0) + sched(); } up->type = Interp; -- cgit v1.2.3