Changeset 11838


Ignore:
Timestamp:
05/07/09 18:01:06 (13 years ago)
Author:
ehuelsmann
Message:

Remove code handling JSR/RET instructions.

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp

    r11837 r11838  
    11261126                 166 ; if_acmpne
    11271127                 167 ; goto
    1128                  168 ; jsr
    1129                  169 ; ret
    11301128                 176 ; areturn
    11311129                 177 ; return
     
    13231321        (return-from walk-code))
    13241322      (let ((opcode (instruction-opcode instruction)))
    1325         (unless (eql opcode 168) ; JSR
    1326           (setf depth (+ depth instruction-stack)))
     1323        (setf depth (+ depth instruction-stack))
    13271324        (setf (instruction-depth instruction) depth)
    1328         (if (eql opcode 168) ; JSR
    1329             (let ((label (car (instruction-args instruction))))
    1330               (declare (type symbol label))
    1331               (walk-code code (symbol-value label) (1+ depth)))
    1332             (when (branch-opcode-p opcode)
    1333               (let ((label (car (instruction-args instruction))))
    1334                 (declare (type symbol label))
    1335                 (walk-code code (symbol-value label) depth))))
    1336         (when (member opcode '(167 169 176 191)) ; GOTO RET ARETURN ATHROW
     1325        (when (branch-opcode-p opcode)
     1326          (let ((label (car (instruction-args instruction))))
     1327            (declare (type symbol label))
     1328            (walk-code code (symbol-value label) depth)))
     1329        (when (member opcode '(167 176 191)) ; GOTO ARETURN ATHROW
    13371330          ;; Current path ends.
    13381331          (return-from walk-code))))))
  • trunk/abcl/src/org/armedbear/lisp/opcodes.lisp

    r11639 r11838  
    221221(define-opcode if_acmpne 166 3 -2)
    222222(define-opcode goto 167 3 0)
    223 (define-opcode jsr 168 3 1)
    224 (define-opcode ret 169 2 0)
     223;;(define-opcode jsr 168 3 1) Don't use these 2 opcodes: deprecated
     224;;(define-opcode ret 169 2 0) their use results in JVM verifier errors
    225225(define-opcode tableswitch 170 0 nil)
    226226(define-opcode lookupswitch 171 0 nil)
Note: See TracChangeset for help on using the changeset viewer.