Hello, Mikhail, Egor, Pavel, Thank you for sharing your opinions. This really helps to keep things in order. BTW, I never tried to use J9 as RI for a verifier, and this is a good idea indeed.
With best wishes, Alexei On 3/19/07, Pavel Ozhdikhin <[EMAIL PROTECTED]> wrote:
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 > > > > > > > > >
-- With best regards, Alexei, ESSD, Intel
