[armedbear-cvs] r12633 - trunk/abcl/src/org/armedbear/lisp
Erik Huelsmann
ehuelsmann at common-lisp.net
Sat Apr 24 15:46:32 UTC 2010
Author: ehuelsmann
Date: Sat Apr 24 11:46:29 2010
New Revision: 12633
Log:
Move a section of code around to separate the
class file finalization from the method finalization.
Modified:
trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
Modified: trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp (original)
+++ trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp Sat Apr 24 11:46:29 2010
@@ -8540,6 +8540,18 @@
(maybe-initialize-thread-var)
(setf *code* (nconc code *code*)))
+ (setf (abcl-class-file-superclass class-file)
+ (if (or *hairy-arglist-p*
+ (and *child-p* *closure-variables*))
+ +lisp-compiled-closure-class+
+ +lisp-primitive-class+))
+
+ (setf (abcl-class-file-lambda-list class-file) args)
+ (setf (method-max-locals execute-method) *registers-allocated*)
+ (push execute-method (abcl-class-file-methods class-file))
+
+
+ ;;; Move here
(finalize-code)
(optimize-code)
@@ -8553,19 +8565,12 @@
(eql (symbol-value (handler-from handler))
(symbol-value (handler-to handler))))
*handlers*))
+ ;;; to here
+ ;;; To a separate function which is part of class file finalization
+ ;;; when we have a section of class-file-generation centered code
- (setf (method-max-locals execute-method) *registers-allocated*)
- (setf (method-handlers execute-method) (nreverse *handlers*))
-
- (setf (abcl-class-file-superclass class-file)
- (if (or *hairy-arglist-p*
- (and *child-p* *closure-variables*))
- +lisp-compiled-closure-class+
- +lisp-primitive-class+))
-
- (setf (abcl-class-file-lambda-list class-file) args)
- (push execute-method (abcl-class-file-methods class-file)))
+ (setf (method-handlers execute-method) (nreverse *handlers*)))
t)
(defun compile-1 (compiland stream)
More information about the armedbear-cvs
mailing list