harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Ozhdikhin" <pavel.ozhdik...@gmail.com>
Subject Re: [verifier] question about RI behavior
Date Mon, 19 Mar 2007 12:45:04 GMT
On 3/19/07, Mikhail Loenko <mloenko@gmail.com> 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 <mloenko@gmail.com>:
> > 16 Mar 2007 16:05:18 +0300, Egor Pasko <egor.pasko@gmail.com>:
> > > 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
> > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message