[armedbear-cvs] r12868 - branches/generic-class-file/abcl/src/org/armedbear/lisp

Erik Huelsmann ehuelsmann at common-lisp.net
Fri Aug 6 22:37:17 UTC 2010


Author: ehuelsmann
Date: Fri Aug  6 18:37:16 2010
New Revision: 12868

Log:
Miscelanious fixes.

Modified:
   branches/generic-class-file/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
   branches/generic-class-file/abcl/src/org/armedbear/lisp/jvm-instructions.lisp

Modified: branches/generic-class-file/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
==============================================================================
--- branches/generic-class-file/abcl/src/org/armedbear/lisp/compiler-pass2.lisp	(original)
+++ branches/generic-class-file/abcl/src/org/armedbear/lisp/compiler-pass2.lisp	Fri Aug  6 18:37:16 2010
@@ -927,7 +927,7 @@
     (dotimes (i (length code))
       (declare (type (unsigned-byte 16) i))
       (let ((instruction (aref code i)))
-        (when (branch-opcode-p (instruction-opcode instruction))
+        (when (branch-p (instruction-opcode instruction))
           (let ((label (car (instruction-args instruction))))
             (set label marker)))))
     ;; Add labels used for exception handlers.
@@ -1077,7 +1077,7 @@
         (setf changed-p (or (optimize-2b) changed-p))
         (setf changed-p (or (optimize-3) changed-p))
         (if changed-p
-            (setf *code* delete-unreachable-code *code*)
+            (setf *code* (delete-unreachable-code *code*))
             (multiple-value-setq
                 (*code* changed-p)
               (delete-unreachable-code *code*)))
@@ -1112,7 +1112,7 @@
       (dotimes (i (length code))
         (declare (type (unsigned-byte 16) i))
         (let ((instruction (aref code i)))
-          (when (branch-opcode-p (instruction-opcode instruction))
+          (when (branch-p (instruction-opcode instruction))
             (let* ((label (car (instruction-args instruction)))
                    (offset (- (the (unsigned-byte 16) (symbol-value (the symbol label))) index)))
               (setf (instruction-args instruction) (s2 offset))))

Modified: branches/generic-class-file/abcl/src/org/armedbear/lisp/jvm-instructions.lisp
==============================================================================
--- branches/generic-class-file/abcl/src/org/armedbear/lisp/jvm-instructions.lisp	(original)
+++ branches/generic-class-file/abcl/src/org/armedbear/lisp/jvm-instructions.lisp	Fri Aug  6 18:37:16 2010
@@ -397,13 +397,13 @@
 (defun branch-p (opcode)
   (declare (optimize speed))
   (declare (type '(integer 0 255) opcode))
-  (or (<= 153 opcode 168)
+  (or (<= 153 opcode 167)
       (<= 198 opcode 200))) ;; ifnull / ifnonnull / goto_w
 
 (declaim (ftype (function (t) t) unconditional-control-transfer-p)
          (inline unconditional-control-transfer-p))
 (defun unconditional-control-transfer-p (opcode)
-  (or (= 168 opcode) ;; goto
+  (or (= 167 opcode) ;; goto
       (= 200 opcode) ;; goto_w
       (<= 172 opcode 177) ;; ?return
       (= 191 opcode) ;; athrow
@@ -719,7 +719,7 @@
       (let ((opcode (instruction-opcode instruction)))
         (setf depth (+ depth instruction-stack))
         (setf (instruction-depth instruction) depth)
-        (when (branch-opcode-p opcode)
+        (when (branch-p opcode)
           (let ((label (car (instruction-args instruction))))
             (declare (type symbol label))
             (analyze-stack-path code (symbol-value label) depth)))




More information about the armedbear-cvs mailing list