Changeset 12169 in project


Ignore:
Timestamp:
10/15/08 13:20:02 (12 years ago)
Author:
felix winkelmann
Message:

inlining fixes

Location:
chicken/branches/cmi
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • chicken/branches/cmi/TODO

    r12168 r12169  
    4343** when inlining, consing arg-list with "list" may make get-keyword possibly foldable
    4444** test global inlining (using .inline files)
     45*** add dependency lines to rules.make to ensure library-units are built in correct order
    4546
    4647* benchmarks
  • chicken/branches/cmi/batch-driver.scm

    r12168 r12169  
    3939  compiler-cleanup-hook disabled-warnings local-definitions
    4040  file-io-only undefine-shadowed-macros profiled-procedures
    41   unit-name insert-timer-checks used-units inline-max-size inlining-locally
     41  unit-name insert-timer-checks used-units inline-max-size inline-locally
    4242  debugging perform-lambda-lifting! disable-stack-overflow-checking
    4343  foreign-declarations emit-trace-info block-compilation line-number-database-size
  • chicken/branches/cmi/compiler.scm

    r12168 r12169  
    19711971                    (cond (assigned
    19721972                           (debugging
    1973                             'i "global inline candidate has been assigned and will not be inlined"
     1973                            'i "global inline candidate was assigned and will not be inlined"
    19741974                            sym)
    19751975                           (mark-variable sym '##compiler#inline-global 'no))
    19761976                          (else
    19771977                           (let ((lparams (node-parameters n)))
    1978                              (put! db (first lparams) 'simple)
    1979                              (quick-put!k-put! plist 'inlinable #t)
     1978                             (put! db (first lparams) 'simple #t)
     1979                             (quick-put! plist 'inlinable #t)
    19801980                             (quick-put! plist 'local-value n))))))))
    19811981
  • chicken/branches/cmi/optimizer.scm

    r12168 r12169  
    6060  topological-sort print-version print-usage initialize-analysis-database
    6161  expand-foreign-callback-lambda default-optimization-passes default-optimization-passes-when-trying-harder
    62   units-used-by-default words-per-flonum rewrite
     62  units-used-by-default words-per-flonum rewrite inline-locally
    6363  parameter-limit eq-inline-operator optimizable-rest-argument-operators
    6464  membership-test-operators membership-unfold-limit valid-compiler-options valid-compiler-options-with-argument
     
    312312                                (list k (make-node '##core#undefined '() '())) ) )
    313313                             (walk-generic n class params subs)) ]
    314                         [(and lval (eq? '##core#lambda (node-class lval)))
     314                        [(and lval
     315                              inline-locally
     316                              (eq? '##core#lambda (node-class lval)))
    315317                         (let* ([lparams (node-parameters lval)]
    316318                                [llist (third lparams)] )
  • chicken/branches/cmi/support.scm

    r12168 r12169  
    432432                       ((captured assigned boxed global contractable standard-binding foldable assigned-locally
    433433                                  side-effecting collapsable removable undefined replacing unused simple inlinable inline-export
    434                                   has-unused-parameters extended-binding customizable constant boxed-rest)
     434                                  has-unused-parameters extended-binding customizable constant boxed-rest hidden-refs)
    435435                        (printf "\t~a" (cdr (assq (caar es) names))) )
    436436                       ((unknown)
Note: See TracChangeset for help on using the changeset viewer.