Mikhail, folks,
Let me attract a collective Harmony brain to the problem. Does anyone
have any idea why the following code doesn't pass verification on RI?

Thanks, Alexei

.class public SubSub
.super java/lang/Object
.method public <init>()V
   aload_0
   invokespecial java/lang/Object/<init>()V
   return
.end method

;
; Subroutine is called from the other subroutine and
; from the top level code.
;
.method public static main([Ljava/lang/String;)V
   .limit stack 1
   .limit locals 2

   jsr LabelSub
   jsr LabelSubSub
   return
LabelSub:
   astore 1
   jsr LabelSubSub
   ret 1
LabelSubSub:
   astore 0
   ret 0
.end method


$ java -jar c:/bin/jasmin-1.1/jasmin.jar SubSub.jj
Generated: SubSub.class
$ java -cp . SubSub
java.lang.VerifyError: (class: SubSub, method: testSubSub signature:
()V) Illegal return from subroutine
$


--
With best regards,
Alexei,
ESSD, Intel

Reply via email to