~ chicken-core (chicken-5) 4a0c07d821cac1fc31d44b5354168542008a2833


commit 4a0c07d821cac1fc31d44b5354168542008a2833
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Wed Dec 21 09:03:53 2011 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Tue Jan 17 11:24:58 2012 +0100

    removed unboxing completely

diff --git a/batch-driver.scm b/batch-driver.scm
index cd1cd609..0521c74a 100644
--- a/batch-driver.scm
+++ b/batch-driver.scm
@@ -90,7 +90,6 @@
 	(uunit (memq 'unit options))
 	(a-only (memq 'analyze-only options))
 	(dynamic (memq 'dynamic options))
-	(unbox (memq 'unboxing options))
 	(do-scrutinize (memq 'scrutinize options))
 	(dumpnodes #f)
 	(start-time #f)
@@ -649,12 +648,6 @@
 				       (> (- (cputime) start-time) funny-message-timeout))
 			      (display "(don't worry - still compiling...)\n") )
 			    (print-node "closure-converted" '|9| node2)
-			    (when (and unbox unsafe)
-			      (debugging 'p "performing unboxing")
-			      (begin-time)
-			      (perform-unboxing! node2)
-			      (end-time "unboxing")
-			      (print-node "unboxing" '|U| node2) )
 			    (when a-only (exit 0))
 			    (begin-time)
 			    (receive 
diff --git a/c-platform.scm b/c-platform.scm
index fb9c4bdd..b2161d47 100644
--- a/c-platform.scm
+++ b/c-platform.scm
@@ -93,7 +93,7 @@
     no-parentheses-synonyms no-symbol-escape r5rs-syntax emit-all-import-libraries
     strict-types clustering
     lambda-lift				; OBSOLETE
-    setup-mode unboxing no-module-registration) )
+    setup-mode no-module-registration) )
 
 (define valid-compiler-options-with-argument
   '(debug 
diff --git a/chicken.scm b/chicken.scm
index e353a3e4..1bf2591c 100644
--- a/chicken.scm
+++ b/chicken.scm
@@ -28,7 +28,7 @@
 (declare
   (uses chicken-syntax chicken-ffi-syntax 
 	srfi-1 srfi-4 utils files extras data-structures support
-	compiler optimizer unboxing compiler-syntax scrutinizer driver platform backend 
+	compiler optimizer compiler-syntax scrutinizer driver platform backend 
 	srfi-69))
 
 
@@ -104,7 +104,6 @@
 			     'inline 
 			     'inline-global
 			     'specialize
-			     'unboxing 
 			     ;XXX 'clustering
 			     'local 'unsafe
 			     options) ) )
@@ -123,7 +122,6 @@
 			       'inline
 			       'inline-global
 			       'clustering
-			       'unboxing
 			       options) ) ) ) )
 		 (loop (cdr rest)) ) )
 	      ((eq? 'debug-level o)
diff --git a/compiler-namespace.scm b/compiler-namespace.scm
index 98fcf76c..679f0247 100644
--- a/compiler-namespace.scm
+++ b/compiler-namespace.scm
@@ -221,7 +221,6 @@
  perform-high-level-optimizations
  perform-inlining!
  perform-pre-optimization!
- perform-unboxing!
  posq
  postponed-initforms
  pprint-expressions-to-file
diff --git a/csc.scm b/csc.scm
index 88992cae..e479ae75 100644
--- a/csc.scm
+++ b/csc.scm
@@ -137,7 +137,7 @@
     -analyze-only -keep-shadowed-macros -inline-global -ignore-repository
     -no-symbol-escape -no-parentheses-synonyms -r5rs-syntax
     -no-argc-checks -no-bound-checks -no-procedure-checks -no-compiler-syntax
-    -emit-all-import-libraries -setup-mode -unboxing -no-elevation -no-module-registration
+    -emit-all-import-libraries -setup-mode -no-elevation -no-module-registration
     -no-procedure-checks-for-usual-bindings -module
     -specialize -strict-types -clustering
     -lambda-lift			; OBSOLETE
@@ -383,7 +383,6 @@ Usage: #{csc} FILENAME | OPTION ...
     -inline                        enable inlining
     -inline-limit LIMIT            set inlining threshold
     -inline-global                 enable cross-module inlining
-    -unboxing                      use unboxed temporaries if possible
     -specialize                    perform type-based specialization of primitive calls
     -n -emit-inline-file FILENAME  generate file with globally inlinable
                                     procedures (implies -inline -local)
diff --git a/distribution/manifest b/distribution/manifest
index 03d9e35d..6c02c346 100644
--- a/distribution/manifest
+++ b/distribution/manifest
@@ -27,7 +27,6 @@ lolevel.c
 optimizer.c
 compiler-syntax.c
 scrutinizer.c
-unboxing.c
 irregex.c
 posixunix.c
 posixwin.c
@@ -76,7 +75,6 @@ lolevel.scm
 optimizer.scm
 compiler-syntax.scm
 scrutinizer.scm
-unboxing.scm
 irregex.scm
 irregex-core.scm
 irregex-utils.scm
@@ -109,7 +107,6 @@ tests/arithmetic-test.32.expected
 tests/arithmetic-test.64.expected
 tests/library-tests.scm
 tests/compiler-tests.scm
-tests/compiler-tests-3.scm
 tests/inlining-tests.scm
 tests/locative-stress-test.scm
 tests/r4rstest.scm
diff --git a/manual/Using the compiler b/manual/Using the compiler
index fbc1cab3..0d4c09a3 100644
--- a/manual/Using the compiler	
+++ b/manual/Using the compiler	
@@ -125,8 +125,8 @@ the source text should be read from standard input.
      -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 -inline-global -specialize
-     -optimize-level 4          is equivalent to -optimize-leaf-routines -local -inline -inline-global -unboxing -specialize -unsafe
-     -optimize-level 5          is equivalent to -optimize-leaf-routines -block -inline -inline-global -unboxing -specialize -unsafe -disable-interrupts -no-trace -no-lambda-info
+     -optimize-level 4          is equivalent to -optimize-leaf-routines -local -inline -inline-global -specialize -unsafe
+     -optimize-level 5          is equivalent to -optimize-leaf-routines -block -inline -inline-global -specialize -unsafe -disable-interrupts -no-trace -no-lambda-info
 
 ; -output-file FILENAME : Specifies the pathname of the generated C file. Default is {{FILENAME.c}}.
 
@@ -161,8 +161,6 @@ the source text should be read from standard input.
 
 ; -to-stdout : Write compiled code to standard output instead of creating a {{.c}} file.
 
-; -unboxing : try to use unboxed temporaries for numerical operations. This optimization is only effective in unsafe mode.
-
 ; -unit NAME : Compile this file as a library unit. Equivalent to {{-prelude "(declare (unit NAME))"}}
 
 ; -unsafe : Disable runtime safety checks.
diff --git a/rules.make b/rules.make
index f19972f4..7ec86133 100644
--- a/rules.make
+++ b/rules.make
@@ -44,7 +44,7 @@ LIBCHICKEN_SHARED_OBJECTS = $(LIBCHICKEN_OBJECTS_1:=$(O))
 LIBCHICKEN_STATIC_OBJECTS = $(LIBCHICKEN_OBJECTS_1:=-static$(O))
 
 COMPILER_OBJECTS_1 = \
-	chicken batch-driver compiler optimizer compiler-syntax scrutinizer unboxing support \
+	chicken batch-driver compiler optimizer compiler-syntax scrutinizer support \
 	c-platform c-backend
 COMPILER_OBJECTS        = $(COMPILER_OBJECTS_1:=$(O))
 COMPILER_STATIC_OBJECTS = $(COMPILER_OBJECTS_1:=-static$(O))
diff --git a/support.scm b/support.scm
index 97ba03ab..c02dc893 100644
--- a/support.scm
+++ b/support.scm
@@ -1670,7 +1670,6 @@ Usage: chicken FILENAME OPTION ...
     -inline-limit LIMIT          set inlining threshold
     -inline-global               enable cross-module inlining
     -specialize                  perform type-based specialization of primitive calls
-    -unboxing                    use unboxed temporaries if possible
     -emit-inline-file FILENAME   generate file with globally inlinable
                                   procedures (implies -inline -local)
     -consult-inline-file FILENAME  explicitly load inline file
@@ -1740,7 +1739,6 @@ Available debugging options:
      S          show applications of compiler syntax
      T          show expressions after converting to node tree
      P          show expressions after specialization
-     U          show expressions after unboxing
      M          show syntax-/runtime-requirements
      1          show source expressions
      2          show canonicalized expressions
diff --git a/tests/runtests.bat b/tests/runtests.bat
index 1b82aa9e..3e8e7ab4 100644
--- a/tests/runtests.bat
+++ b/tests/runtests.bat
@@ -27,12 +27,6 @@ if errorlevel 1 exit /b 1
 a.out
 if errorlevel 1 exit /b 1
 
-echo ======================================== compiler tests (unboxing) ...
-%compile% compiler-tests-3.scm -unsafe -unboxing
-if errorlevel 1 exit /b 1
-a.out
-if errorlevel 1 exit /b 1
-
 echo ======================================== compiler inlining tests  ...
 %compile% inlining-tests.scm -optimize-level 3
 if errorlevel 1 exit /b 1
diff --git a/tests/runtests.sh b/tests/runtests.sh
index dc5b3dd9..a629ffcf 100644
--- a/tests/runtests.sh
+++ b/tests/runtests.sh
@@ -63,10 +63,6 @@ echo "======================================== compiler tests ..."
 $compile compiler-tests.scm
 ./a.out
 
-echo "======================================== compiler tests (unboxing) ..."
-$compile compiler-tests-3.scm -unsafe -unboxing
-./a.out
-
 echo "======================================== compiler inlining tests  ..."
 $compile inlining-tests.scm -optimize-level 3
 ./a.out
Trap