Commit Graph

68 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum acc9940379 fixed gc bug in 64-bit mode along with another 64-bit bug in the
assembler when addressing using special %eax/%rax instructions.
2008-07-21 22:07:31 -07:00
Abdulaziz Ghuloum badf83557f fixed rounding for rationals. 2008-07-07 00:22:14 -07:00
Abdulaziz Ghuloum d73dfd1287 - More work on the new optimizer
- Deleted old optimizer and changed the meaning of optimize level to
  be:
    0: bypass the optimizer
    1: copy propagation, constant folding, no inlining
    1: copy propagation, constant folding, with inlining
  The default is set to 1.
2008-06-29 12:35:34 -07:00
Abdulaziz Ghuloum 45346ef865 - Added cp0! including:
- (optimize-level [0,1,2])  and  ikarus -O[0,1,2]
       where -O0 = no optimizations
             -O1 = using old optimizer
             -O2 = using the new cp0 optimizer
       defaults to -O1 for now.
   - (cp0-size-limit n) which is the limit of the residual size for
     each inlining attempt
   - (cp0-effort-limit n) which is the limit on the effort expended 
     for each inlining attempt
   
- Rewrote the syntax-match macro to make use of the same technology
  used in syntax-case itself resulting in reduced code size.

- Added (system-value <symbol>) which returns the system value.
  E.g., (system-value 'car) => #<procedure car>
  This is pretty much the same as 
    (eval <symbol> (environment '(ikarus)))
  except that it does not involve compiling the expression or 
  consulting the library/expander systems.

- Fixed the fasl loader to make it understand complex numbers.
2008-06-28 02:25:44 -07:00
Abdulaziz Ghuloum 48100f3737 Added bitwise-and primop. 2008-01-19 15:44:38 -05:00
Abdulaziz Ghuloum 648991d793 cygwin does not have getaddrinfo so I added a compatibility
implementation in src/ikarus-getaddrinfo.[ch]
2007-12-26 22:28:48 -05:00
Abdulaziz Ghuloum 96625d1657 benchmarks were getting stale, many were not runnable. all updated.
a fresh benchmark run was taken.
2007-12-25 05:03:41 -05:00
Abdulaziz Ghuloum 6eb6bf750d Added a (process "cmd" "args" ...) procedure that execs cmd, passing
args to it, and returns 4 values: 
* the process's pid
* the process's standard-input-port  (for writing)
* the process's standard-output-port (for reading)
* the process's standard-error-port  (for reading)
See lab/process-example.ss for a sample usage.
2007-12-19 22:46:07 -05:00
Abdulaziz Ghuloum c855a0e600 Forgot to commit the 0.0.2 release. 2007-11-29 03:31:54 -05:00
Abdulaziz Ghuloum 5e71bb8550 Fixes bug 164884: benchmarks/Makefile shouldn't be in repo 2007-11-24 12:16:06 -05:00
Abdulaziz Ghuloum 5db5efaaf1 Updated benchmarks/benchall.ss script to use ../src/ikarus instead
of plain ikarus when running bench.ss
2007-11-24 04:42:42 -05:00
Abdulaziz Ghuloum fb804a24f4 Changed version to 0.0.2-rc1 and added benchmarks to distribution. 2007-11-23 20:50:28 -05:00
Abdulaziz Ghuloum 91c365d9a6 records/structs are an iota faster to collect. 2007-11-21 16:39:16 -05:00
Abdulaziz Ghuloum 499115a226 * Minor performance fix to previous deoptimization
* Appended current timelog.
2007-11-17 12:53:37 -05:00
Abdulaziz Ghuloum 3a3bc7dcc1 * keyboard interrupts are now continuable. 2007-11-15 13:40:36 -05:00
Abdulaziz Ghuloum 4c632e435b * changed implementation of $flonum->exact. 2007-11-14 20:45:37 -05:00
Abdulaziz Ghuloum a0ba3d3d4f Fixes bug 162436: Off-by-one in substring 2007-11-13 12:21:27 -05:00
Abdulaziz Ghuloum ef6b9c0bae * Comitted half-fix to exact->inexact regarding bug 162334.
- some of the generic arithmetic operations are still broken
    due to rounding errors.
2007-11-13 00:45:04 -05:00
Abdulaziz Ghuloum 564908d55d * Added a word-frequency benchmark. 2007-11-11 02:10:02 -05:00
Abdulaziz Ghuloum 6938657fad * Fixed bug 161749: (define-syntax (foo x) 12) does not work 2007-11-10 06:28:29 -05:00
Abdulaziz Ghuloum 97d9c4ca42 * improved performance for fl+, fl-, fl*, fl/, fl=?, fl<?, fl<=?, fl>? and fl>=?
- results in 
    45% reduction in runtime for fpsum
    43% reduction in runtime for fibfp
    29% reduction in runtime for pnpoly
    28% reduction in runtime for mbrot
  - and
    23% increase in compile time for nucleic
    11% increase in compile time for ray
    10% increase in compile time for fft
2007-11-08 12:07:48 -05:00
Abdulaziz Ghuloum bcd96a8dd4 * Added bytevector-ieee-double-native-ref/set! 2007-11-06 21:08:52 -05:00
Abdulaziz Ghuloum 9632e19032 Fixes bug 160395: missing import from r6r script reports bogus error. 2007-11-06 01:14:27 -05:00
Abdulaziz Ghuloum 8cabfa75a7 * timelog updated to show results of latest addition to compiler. 2007-11-05 23:09:08 -05:00
Abdulaziz Ghuloum 753838aeec * Fixed benchmarking tools. 2007-11-05 22:49:38 -05:00
Abdulaziz Ghuloum 24e142bc49 * Added benchmarks/summarize.pl to summarize benchmark results. 2007-11-05 17:21:53 -05:00
Abdulaziz Ghuloum 2246a2b901 * Added benchmark logging Makefile in benchmarks/ and two log files. 2007-11-05 16:56:44 -05:00
Abdulaziz Ghuloum 6b40f525d9 * removed benchmarks/BUGS because it's out of date.
* fixed benchmarks/README
2007-11-05 02:01:51 -05:00
Abdulaziz Ghuloum 0287c37a00 * updated benchmarks/README since quicksort now works. 2007-11-05 01:57:18 -05:00
Abdulaziz Ghuloum c4424f8de4 * Added info about "BUGS" in benchmarks/README. 2007-11-04 17:12:14 -05:00
Abdulaziz Ghuloum a1aa10fca9 * Fixed bugs in slatex and quicksort benchmarks (library implementation)
* compiler benchmark now works (taking 10 seconds to compile on this
  machine).
2007-11-04 17:00:11 -05:00
Abdulaziz Ghuloum 8be77bcd21 * Added README describing the directory contents and how to run
benchmarks under Ikarus.
2007-11-04 14:07:58 -05:00
Abdulaziz Ghuloum ab282428fe * Fixed benchmarks to work on (rnrs) libraries instead of the old
(r6rs) libraries.
2007-11-04 12:03:32 -05:00
Abdulaziz Ghuloum 54472a1994 * Added fxarithmetic-shift* procedures.
* Added trace examples in ikarus.trace.h
* slatex benchmark now compiles properly.
2007-09-15 00:14:47 -04:00
Abdulaziz Ghuloum 33c087a867 * Stack overflow is reinstated. fibc and other call/cc intensive
benchmarks now work.
2007-07-13 13:54:25 +03:00
Abdulaziz Ghuloum 327de19e3b * Added fft benchmark. 2007-06-18 18:04:02 +03:00
Abdulaziz Ghuloum d3b2ee35f3 * Added $fixnum->flonum (not working yet) 2007-06-18 14:06:13 +03:00
Abdulaziz Ghuloum cb4752df99 * Added flmax 2007-06-18 13:06:19 +03:00
Abdulaziz Ghuloum d04b4f4be8 * Added flround. 2007-06-18 13:01:45 +03:00
Abdulaziz Ghuloum baafbed761 * Added (r6rs i/o simple) library 2007-06-18 02:57:32 +03:00
Abdulaziz Ghuloum 551e5aa088 * Case-insensitive char cmp functions added. 2007-06-17 17:51:47 +03:00
Abdulaziz Ghuloum 1750aba832 * The CODE/digit assembly helper now accepts imm,imm memory reference. 2007-06-16 12:08:38 +03:00
Abdulaziz Ghuloum 6d8c626017 * Fixed a bug in (fl/ x) not inverting its argument. 2007-06-16 09:59:39 +03:00
Abdulaziz Ghuloum d4facf79d3 * Added some benchmarking data in benchmarks/BUGS 2007-06-15 08:59:49 +03:00
Abdulaziz Ghuloum 3acdcb6c04 * Added native support for $fl+, $fl-, $fl*, $fl/ 2007-06-15 08:53:34 +03:00
Abdulaziz Ghuloum f1674cbaef * renamed benchmarks directories.
renamed:
  benchmarks => benchmarks.larceny
  benchmarks/new => benchmarks
2007-06-14 20:26:38 +03:00
Abdulaziz Ghuloum ec5317bea0 * Added nucleic benchmark. 2007-06-13 18:17:21 +03:00
Abdulaziz Ghuloum af7f6a5b7e * More benchmarks. 2007-06-13 17:49:54 +03:00
Abdulaziz Ghuloum b00de8325b Added many benchmarks.
added:
  benchmarks/new/r6rs-benchmarks/BUGS
  benchmarks/new/r6rs-benchmarks/array1.ss
  benchmarks/new/r6rs-benchmarks/bib
  benchmarks/new/r6rs-benchmarks/boyer.ss
  benchmarks/new/r6rs-benchmarks/browse.ss
  benchmarks/new/r6rs-benchmarks/cat.ss
  benchmarks/new/r6rs-benchmarks/conform.ss
  benchmarks/new/r6rs-benchmarks/cpstak.ss
  benchmarks/new/r6rs-benchmarks/ctak.ss
  benchmarks/new/r6rs-benchmarks/dderiv.ss
  benchmarks/new/r6rs-benchmarks/deriv.ss
  benchmarks/new/r6rs-benchmarks/destruc.ss
  benchmarks/new/r6rs-benchmarks/diviter.ss
  benchmarks/new/r6rs-benchmarks/divrec.ss
  benchmarks/new/r6rs-benchmarks/dynamic.src.ss
  benchmarks/new/r6rs-benchmarks/dynamic.ss
  benchmarks/new/r6rs-benchmarks/earley.ss
  benchmarks/new/r6rs-benchmarks/fibc.ss
  benchmarks/new/r6rs-benchmarks/fibfp.ss
  benchmarks/new/r6rs-benchmarks/gcbench.ss
  benchmarks/new/r6rs-benchmarks/gcold.ss
  benchmarks/new/r6rs-benchmarks/graphs.ss
  benchmarks/new/r6rs-benchmarks/lattice.ss
  benchmarks/new/r6rs-benchmarks/matrix.ss
  benchmarks/new/r6rs-benchmarks/maze.ss
  benchmarks/new/r6rs-benchmarks/mazefun.ss
  benchmarks/new/r6rs-benchmarks/mbrot.ss
  benchmarks/new/r6rs-benchmarks/nboyer.ss
  benchmarks/new/r6rs-benchmarks/nqueens.ss
  benchmarks/new/r6rs-benchmarks/ntakl.ss
  benchmarks/new/r6rs-benchmarks/paraffins.ss
  benchmarks/new/r6rs-benchmarks/parsing-test.sch
  benchmarks/new/r6rs-benchmarks/parsing.ss
  benchmarks/new/r6rs-benchmarks/perm9.ss
  benchmarks/new/r6rs-benchmarks/peval.ss
  benchmarks/new/r6rs-benchmarks/pi.ss
  benchmarks/new/r6rs-benchmarks/pnpoly.ss
  benchmarks/new/r6rs-benchmarks/ray.ss
  benchmarks/new/r6rs-benchmarks/todo-src/
  benchmarks/new/r6rs-benchmarks/todo-src/README.flonum-benchmarks
  benchmarks/new/r6rs-benchmarks/todo-src/compiler.scm
  benchmarks/new/r6rs-benchmarks/todo-src/fft.scm
  benchmarks/new/r6rs-benchmarks/todo-src/fpsum.scm
  benchmarks/new/r6rs-benchmarks/todo-src/nbody.scm
  benchmarks/new/r6rs-benchmarks/todo-src/nucleic.scm
  benchmarks/new/r6rs-benchmarks/todo-src/primes.scm
  benchmarks/new/r6rs-benchmarks/todo-src/puzzle.scm
  benchmarks/new/r6rs-benchmarks/todo-src/quicksort.scm
  benchmarks/new/r6rs-benchmarks/todo-src/rn100
  benchmarks/new/r6rs-benchmarks/todo-src/sboyer.scm
  benchmarks/new/r6rs-benchmarks/todo-src/scheme.scm
  benchmarks/new/r6rs-benchmarks/todo-src/simplex.scm
  benchmarks/new/r6rs-benchmarks/todo-src/slatex.scm
  benchmarks/new/r6rs-benchmarks/todo-src/slatex.sty
  benchmarks/new/r6rs-benchmarks/todo-src/smlboyer.scm
  benchmarks/new/r6rs-benchmarks/todo-src/string.scm
  benchmarks/new/r6rs-benchmarks/todo-src/succeed.scm
  benchmarks/new/r6rs-benchmarks/todo-src/sum.scm
  benchmarks/new/r6rs-benchmarks/todo-src/sum1.scm
  benchmarks/new/r6rs-benchmarks/todo-src/sumfp.scm
  benchmarks/new/r6rs-benchmarks/todo-src/sumloop.scm
  benchmarks/new/r6rs-benchmarks/todo-src/tail.scm
  benchmarks/new/r6rs-benchmarks/todo-src/tak.scm
  benchmarks/new/r6rs-benchmarks/todo-src/takl.scm
  benchmarks/new/r6rs-benchmarks/todo-src/temp.scm
  benchmarks/new/r6rs-benchmarks/todo-src/temp2.scm
  benchmarks/new/r6rs-benchmarks/todo-src/test.scm
  benchmarks/new/r6rs-benchmarks/todo-src/test.tex
  benchmarks/new/r6rs-benchmarks/todo-src/tfib.scm
  benchmarks/new/r6rs-benchmarks/todo-src/trav1.scm
  benchmarks/new/r6rs-benchmarks/todo-src/trav2.scm
  benchmarks/new/r6rs-benchmarks/todo-src/triangl.scm
  benchmarks/new/r6rs-benchmarks/todo-src/wc.scm
modified:
  benchmarks/new/r6rs-benchmarks.ss
  benchmarks/results.Larceny-r6rs
  benchmarks/src/ntakl.scm
2007-06-13 14:17:57 +03:00
Abdulaziz Ghuloum 8cd99e6a2e * Added ackerman benchmark 2007-06-13 10:19:16 +03:00