Changeset 12228 in project


Ignore:
Timestamp:
10/21/08 20:47:13 (12 years ago)
Author:
felix winkelmann
Message:
  • emit-inline-file implies -inline -local
  • (declare (hide)) is the same as (declare (block))
Location:
chicken/branches/cmi
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • chicken/branches/cmi/TODO

    r12195 r12228  
    5050** remove "custom-declare" + stuff?
    5151** when inlining, consing arg-list with "list" may make get-keyword possibly foldable
    52 ** -emit-inline-file makes only sense with -inline-global and -local
    53    what should imply what?
    5452** make sure hooks are not inlined
    5553
     
    6462** add more realistic benchmarks
    6563*** check shootout
    66 ** run benchmarks with current trunk to have something to compare
    6764
    6865* tests
  • chicken/branches/cmi/batch-driver.scm

    r12184 r12228  
    3737  non-foldable-standard-bindings foldable-standard-bindings non-foldable-extended-bindings foldable-extended-bindings
    3838  standard-bindings-that-never-return-false side-effect-free-standard-bindings-that-never-return-false
    39   compiler-cleanup-hook disabled-warnings local-definitions emit-inline-file
     39  compiler-cleanup-hook disabled-warnings local-definitions inline-output-file
    4040  file-io-only undefine-shadowed-macros profiled-procedures
    4141  unit-name insert-timer-checks used-units inline-max-size inline-locally
     
    255255    (when (memq 'inline options) (set! inline-locally #t))
    256256    (and-let* ((ifile (memq 'emit-inline-file options)))
    257       (set! emit-inline-file (option-arg ifile)))
     257      (set! inline-locally #t)          ; otherwise this option makes no sense
     258      (set! local-definitions #t)
     259      (set! inline-output-file (option-arg ifile)))
    258260    (and-let* ([inlimit (memq 'inline-limit options)])
    259261      (set! inline-max-size
     
    596598                            (print-node "optimized" '|7| node2)
    597599
    598                             (when (and inline-globally emit-inline-file)
    599                               (let ((f emit-inline-file))
     600                            (when (and inline-globally inline-output-file)
     601                              (let ((f inline-output-file))
    600602                                (when verbose
    601603                                  (printf "Generating global inline file `~a' ...~%" f))
  • chicken/branches/cmi/compiler.scm

    r12191 r12228  
    303303  pprint-expressions-to-file foreign-type-check estimate-foreign-result-size scan-used-variables scan-free-variables
    304304  topological-sort print-version print-usage initialize-analysis-database csc-control-file
    305   estimate-foreign-result-location-size emit-inline-file
     305  estimate-foreign-result-location-size inline-output-file
    306306  expand-foreign-callback-lambda default-optimization-passes default-optimization-passes-when-trying-harder
    307307  units-used-by-default words-per-flonum disable-stack-overflow-checking
     
    382382(define inline-globally #f)
    383383(define inline-locally #f)
    384 (define emit-inline-file #f)
     384(define inline-output-file #f)
    385385
    386386
     
    13911391       ((block-global hide)
    13921392        (let ([syms (stripa (cdr spec))])
    1393           (for-each hide-variable syms)))
     1393          (if (null? syms)
     1394              (set! block-compilation #t)
     1395              (for-each hide-variable syms))))
    13941396       ((export)
    13951397        (let ((syms (stripa (cdr spec))))
  • chicken/branches/cmi/csc.scm

    r12191 r12228  
    391391    -n -emit-inline-file FILENAME 
    392392                                generate file with globally inlinable procedures
     393                                (implies -inline -local)
    393394
    394395  Configuration options:
  • chicken/branches/cmi/manual/Declarations

    r12187 r12228  
    4444should not be accessible from code in other compilation units or by
    4545{{eval}}. Access to toplevel bindings declared as block global is
    46 also more efficient.
     46also more efficient. {{(declare (hide))}} is equivalent to {{(declare (block))}}.
    4747
    4848
  • chicken/branches/cmi/manual/Using the compiler

    r12191 r12228  
    9696; -emit-import-library MODULE : Specifies that an import library named {{MODULE.import.scm}} for the named module should be generated (equivalent to using the {{emit-import-library}} declaration).
    9797
    98 ; -emit-inline-file FILENAME : Write procedures that can be globally inlined in internal form to {{FILENAME}}, if global inlining is enabled.
     98; -emit-inline-file FILENAME : Write procedures that can be globally inlined in internal form to {{FILENAME}}, if global inlining is enabled. Implies {{-inline -local}}.
    9999
    100100; -explicit-use : Disables automatic use of the units {{library, eval}} and {{extras}}. Use this option if compiling a library unit instead of an application unit.
  • chicken/branches/cmi/support.scm

    r12191 r12228  
    12821282    -inline-global              enable cross-module inlining
    12831283    -emit-inline-file FILENAME  generate file with globally inlinable procedures
     1284                                (implies -inline -local)
    12841285
    12851286  Configuration options:
Note: See TracChangeset for help on using the changeset viewer.