diff options
| -rw-r--r-- | CHANGES | 2 | ||||
| -rw-r--r-- | emu/port/dis.c | 3 | ||||
| -rw-r--r-- | include/version.h | 2 | ||||
| -rw-r--r-- | os/port/dis.c | 3 |
4 files changed, 7 insertions, 3 deletions
@@ -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; |
