~ chicken-core (chicken-5) a395ffc2b16a82184343509b5b248672271148da
commit a395ffc2b16a82184343509b5b248672271148da Author: felix <felix@call-with-current-continuation.org> AuthorDate: Thu Jun 3 20:10:03 2010 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Thu Jun 3 20:10:03 2010 +0200 emit global inlines only if interrupts are enabled; fixed incorrectly listed hidden procs in export-unsafe-check diff --git a/batch-driver.scm b/batch-driver.scm index 0d09320f..d603eaca 100644 --- a/batch-driver.scm +++ b/batch-driver.scm @@ -583,7 +583,9 @@ (else (print-node "optimized" '|7| node2) - (when inline-output-file + ;; inlining into a file with interrupts enabled would + ;; change semantics + (when (and inline-output-file insert-timer-checks) (let ((f inline-output-file)) (dribble "Generating global inline file `~a' ..." f) (emit-global-inline-file f db) ) ) diff --git a/compiler.scm b/compiler.scm index 51ee03be..c90eb40b 100644 --- a/compiler.scm +++ b/compiler.scm @@ -2078,6 +2078,7 @@ (when (and ##sys#notices-enabled (get db name 'global) (get db name 'assigned) + (variable-visible? name) (or no-global-procedure-checks (variable-mark name '##compiler#always-bound-to-procedure)) (not unsafe)) diff --git a/manual/Using the compiler b/manual/Using the compiler index a618c56a..8f56a35c 100644 --- a/manual/Using the compiler +++ b/manual/Using the compiler @@ -154,7 +154,7 @@ the source text should be read from standard input. -optimize-level 0 is equivalent to -no-usual-integrations -no-compiler-syntax -optimize-level 1 is equivalent to -optimize-leaf-routines -optimize-level 2 is equivalent to -optimize-leaf-routines -inline - -optimize-level 3 is equivalent to -optimize-leaf-routines -local -inline + -optimize-level 3 is equivalent to -optimize-leaf-routines -local -inline -inline-global -optimize-level 4 is equivalent to -optimize-leaf-routines -local -inline -unsafe -unboxing -optimize-level 5 is equivalent to -optimize-leaf-routines -block -inline -unsafe -unboxing -lambda-lift -disable-interrupts -no-trace -no-lambda-infoTrap