Changeset 15555 in project


Ignore:
Timestamp:
08/24/09 09:05:59 (10 years ago)
Author:
felix
Message:

-O2 enables inlining by default; fixed bug in rational? reported by Zbigniew

Location:
chicken/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • chicken/trunk/NEWS

    r15545 r15555  
    1 4.1.3
     14.1.4
    22
    33- added topological-sort to data-structures unit; chicken-install
    44  sorts dependencies before installing them
    55
     6- "-optimize-level 2" enables inlining by default
     7
     8
     94.1.3
     10
    611- disable executable stack in assembly code modules (patch by
    7   Zbigniew, reported by Marihn Schouten)
     12  Zbigniew, reported by Marijn Schouten)
    813
    914- csc now always exits with a status code of 1 on errors (patch by Zbigniew)
  • chicken/trunk/chicken.scm

    r15246 r15555  
    8585                    (set! options (cons 'optimize-leaf-routines options)) ]
    8686                   [(2)
    87                     (set! options (cons 'optimize-leaf-routines options)) ]
     87                    (set! options
     88                      (cons* 'optimize-leaf-routines 'inline options)) ]
    8889                   [(3)
    8990                    (set! options
    90                       (cons* 'optimize-leaf-routines 'local 'inline options) ) ]
     91                      (cons* 'optimize-leaf-routines 'inline 'local options) ) ]
    9192                   [(4)
    9293                    (set! options
    93                       (cons* 'optimize-leaf-routines 'local 'inline 'unsafe options) ) ]
     94                      (cons* 'optimize-leaf-routines 'inline 'local 'unsafe options) ) ]
    9495                   [else (compiler-warning 'usage "invalid optimization level ~S - ignored" (car rest))] )
    9596                 (loop (cdr rest)) ) ]
  • chicken/trunk/defaults.make

    r15543 r15555  
    281281# Scheme compiler flags
    282282
    283 CHICKEN_OPTIONS = -optimize-level 2 -include-path . -include-path $(SRCDIR)
     283CHICKEN_OPTIONS = -optimize-level 2 -include-path . -include-path $(SRCDIR) -inline
    284284ifdef DEBUGBUILD
    285285CHICKEN_OPTIONS += -feature debugbuild -scrutinize -types $(SRCDIR)types.db
  • chicken/trunk/manual/Using the compiler

    r15294 r15555  
    164164     -optimize-level 0          does nothing.
    165165     -optimize-level 1          is equivalent to -optimize-leaf-routines
    166      -optimize-level 2          is currently the same as -optimize-level 1
     166     -optimize-level 2          is currently the same as -optimize-level 1 -inline
    167167     -optimize-level 3          is equivalent to -optimize-leaf-routines -local -inline
    168168     -optimize-level 4          is equivalent to -optimize-leaf-routines -local -inline -unsafe
  • chicken/trunk/runtime.c

    r15413 r15555  
    47114711  if((!C_immediatep(x) && C_block_header(x) == C_FLONUM_TAG)) {
    47124712    double n = C_flonum_magnitude(x);
    4713 
     4713     
    47144714    if(C_isinf(n) || C_isnan(n)) return C_SCHEME_FALSE;
    47154715  }
     4716  else barf(C_BAD_ARGUMENT_TYPE_ERROR, "rational?", x);
    47164717
    47174718  return C_SCHEME_TRUE;
  • chicken/trunk/tests/library-tests.scm

    r2616 r15555  
    99(assert (zero? (round 0.3)))
    1010(assert (= 1.0 (round 0.6)))
     11(assert (rational? 1))
     12(assert (rational? 1.0))
     13(assert (not (rational? +inf.)))
     14(assert (handle-exceptions ex #t (begin (rational? 'foo) #f)))
Note: See TracChangeset for help on using the changeset viewer.