On 3/19/07, Mikhail Loenko <[EMAIL PROTECTED]> wrote:
I tried it. JRockit prints the same error as RI, but J9 digests it fine. Harmony JIT fires an assertion. Hi JIT folks, would you share your vision whether this class correct or not?
To my best knowledge the test does not violate the VM spec. It looks like we have a bug in Jitrino.JET which fails to compile this test. Jitrino.OPT and interpreter successfully pass it. If RI has a bug in their verifier then the DRLVM is "allowed" to have this bug in the verifier as well. :) However, if we use '-noverify' option RI passes the test, so we still need to fix Jitrino.JET to avoid the crash. Thank you, Pavel Thanks,
Mikhail 2007/3/19, Mikhail Loenko <[EMAIL PROTECTED]>: > 16 Mar 2007 16:05:18 +0300, Egor Pasko <[EMAIL PROTECTED]>: > > On the 0x29B day of Apache Harmony Alexei Fedotov wrote: > > > 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? > > > > looks like a bug :) > > Agreed > > BTW, how other VMs behave? JRockit, J9? > > Thanks, > Mikhail > > > > > > 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 > > > > > > > -- > > Egor Pasko > > > > >
