Commit Graph

9 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum ae136274ed - the source-level optimizer now optimizes (inlining,
constant-folding, etc.) across debug-calls.
2009-05-21 18:43:28 +03:00
Abdulaziz Ghuloum c64fda7619 fixed a few problems in geometric functions when they are passed
complex numbers or when they're passed real numbers but the results
are complex.
2008-08-11 10:37:05 -07:00
Abdulaziz Ghuloum 0da4e99a12 simplified when, unless, and case macros and added better handler
for (if (not e) e e).
2008-08-02 11:09:22 -07:00
Abdulaziz Ghuloum 579b823f44 WIP on tag analysis, annotations, and utilization. 2008-07-06 23:48:16 -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 7d9ed176ac More work on cp0 which can now swallow the compiler but cannot yet
fold any primitives.
2008-06-22 22:10:05 -07:00
Abdulaziz Ghuloum 1d6d5bec61 Some work on optimizer (still not working). 2008-02-17 02:11:04 -05:00
Abdulaziz Ghuloum 66b9f6968e Work in progress on reimplementing the optimizer based on
Oscar Waddell's dissertation (chapter 4).  The existing
optimizer in Ikarus is just a joke.
2008-02-13 03:29:34 -05:00