From 148031d192f4b5d0b64f5c7b481d898ad2b26e77 Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Thu, 29 Mar 2018 07:58:31 -0700 Subject: [PATCH] Make SIEVE JITable --- src/samplesrc/sieve.pla | 44 +++++++++++++++++++++----------------- src/vmsrc/apple/cmdjit.pla | 2 +- 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/src/samplesrc/sieve.pla b/src/samplesrc/sieve.pla index eed1c77..77beecc 100644 --- a/src/samplesrc/sieve.pla +++ b/src/samplesrc/sieve.pla @@ -11,26 +11,30 @@ def beep#0 putc(7) end -beep -//for iter = 1 to 10 - flag = heapalloc(sizepl) - memset(flag, TRUE, sizepl) - count = 0 - for i = 0 to size - if flag->[i] - prime = i + i + 3 - k = i + prime - while k <= size - flag->[k] = FALSE - k = k + prime - loop - count = count + 1 - puti(prime) - putln - fin - next -//next -beep +def sieve#0 + beep + //for iter = 1 to 10 + flag = heapalloc(sizepl) + memset(flag, TRUE, sizepl) + count = 0 + for i = 0 to size + if flag->[i] + prime = i + i + 3 + k = i + prime + while k <= size + flag->[k] = FALSE + k = k + prime + loop + count = count + 1 + puti(prime) + putln + fin + next + //next + beep +end + +sieve puti(count) puts(" primes.\n") done diff --git a/src/vmsrc/apple/cmdjit.pla b/src/vmsrc/apple/cmdjit.pla index a2a4206..de20090 100755 --- a/src/vmsrc/apple/cmdjit.pla +++ b/src/vmsrc/apple/cmdjit.pla @@ -59,7 +59,7 @@ word syscmdln word = @execmod, @open, @close, @read, @write byte perr byte jitcount = 45 -byte jitsize = 128 +byte jitsize = 255 // // Working input buffer overlayed with strings table //