harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexei Zakharov" <alexei.zakha...@gmail.com>
Subject Re: [classlib] compatibility nuances
Date Fri, 21 Jul 2006 18:20:43 GMT
Hi,

FYI: I've logged this as HARMONY-953. So now we should not forget about it.

With Best Regards,

2006/7/18, Richard Liang <richard.liangyx@gmail.com>:
>
>
> Alexei Zakharov wrote:
> > I mean this should have about the same priority with the toString()
> > conversion task discussed in adjacent thread IMHO.
> >
> Yes. We could do it *lazily* if there's no objection. ;-)
>
> > 2006/7/17, Alexei Zakharov <alexei.zakharov@gmail.com>:
> >> IMHO since even BEA VM behave differently in this case we may qualify
> >> this as a low-priority task, rise non-bug JIRA and postpone it until
> >> we meet the real-world app that relies on this. Do nothing is better
> >> than do something that we aren't really sure we should do. :)
> >>
> >> Regards,
> >>
> >> 2006/7/17, Richard Liang <richard.liangyx@gmail.com>:
> >> >
> >> >
> >> > Vladimir Gorr wrote:
> >> > > In this case I'd like to understand what behaviour is correct
> >> > > and what should be made to satisfy the users. I have no any
> >> preference.
> >> > >
> >> > Hello Vladimir,
> >> >
> >> > I think all of us agree that it's possible to following RI's behavior,
> >> > Right? The question is we shall decide to follow or not. Any
> >> suggestion?
> >> > Thanks a lot.
> >> >
> >> > Best regards,
> >> > Richard.
> >> > > Thanks,
> >> > > Vladimir.
> >> > >
> >> > >
> >> > > On 7/14/06, Alexei Zakharov <alexei.zakharov@gmail.com> wrote:
> >> > >>
> >> > >> Vladimir wrote:
> >> > >> > (I believe Alexey used it to test. *Or J9 nevertheless*?
IMHO
> >> it needs
> >> > >> to
> >> > >> > specify when same discussions start).
> >> > >>
> >> > >> I have tried both. And both differ from RI.
> >> > >>
> >> > >> Richard wrote:
> >> > >> > For getDeclaredMethods(), J9 has the same behavior as RI.
> >> > >>
> >> > >> Well, there are some nuances nevertheless. I have wrote a small
> >> test
> >> > >> (that was close to my orginal test) and ran it on four different
> >> VMs.
> >> > >> The test simply does TestBean.class.getDeclaredMethods() and prints
> >> > >> the resulting array.
> >> > >>
> >> > >> TestBean.java:
> >> > >> class TestBean {
> >> > >>    String methodCalled = null;
> >> > >>
> >> > >>    public void method(Integer i) {
> >> > >>        methodCalled = "method1";
> >> > >>    }
> >> > >>
> >> > >>    public void method(int i) {
> >> > >>        methodCalled = "method2";
> >> > >>    }
> >> > >>
> >> > >>    public void method(boolean b) {
> >> > >>        methodCalled = "method3";
> >> > >>    }
> >> > >>
> >> > >>    public void method(Boolean b) {
> >> > >>        methodCalled = "method4";
> >> > >>    }
> >> > >>
> >> > >> }
> >> > >>
> >> > >> The results:
> >> > >> RI (Sun 1.5.0_05)
> >> > >> method int
> >> > >> method boolean
> >> > >> method java.lang.Boolean
> >> > >> method java.lang.Integer
> >> > >>
> >> > >> j9 v3
> >> > >> method java.lang.Integer
> >> > >> method int
> >> > >> method boolean
> >> > >> method java.lang.Boolean
> >> > >>
> >> > >> DLRVM
> >> > >> method java.lang.Integer
> >> > >> method int
> >> > >> method boolean
> >> > >> method java.lang.Boolean
> >> > >>
> >> > >> jrockit-R26.3.0-jdk1.5.0_06
> >> > >> method java.lang.Boolean
> >> > >> method boolean
> >> > >> method int
> >> > >> method java.lang.Integer
> >> > >>
> >> > >> With Best Regards,
> >> > >>
> >> > >> 2006/7/14, Richard Liang <richard.liangyx@gmail.com>:
> >> > >> >
> >> > >> >
> >> > >> > Geir Magnusson Jr wrote:
> >> > >> > > Alexey Varlamov wrote:
> >> > >> > >
> >> > >> > >> 2006/7/14, Richard Liang <richard.liangyx@gmail.com>:
> >> > >> > >>
> >> > >> > >>> Magnusson, Geir wrote:
> >> > >> > >>>
> >> > >> > >>>>> -----Original Message-----
> >> > >> > >>>>> From: Alexei Zakharov [mailto:alexei.zakharov@gmail.com]
> >> > >> > >>>>> Sent: Thursday, July 13, 2006 10:19
AM
> >> > >> > >>>>> To: harmony-dev@incubator.apache.org;
geir@pobox.com
> >> > >> > >>>>> Subject: Re: [classlib] compatibility
nuances
> >> > >> > >>>>>
> >> > >> > >>>>>
> >> > >> > >>>>>
> >> > >> > >>>>>>  That our "not in any particular
> >> > >> > >>>>>> order" is different than the "not
in any particular order"
> >> > >> > >>>>>>
> >> > >> > >>>>>>
> >> > >> > >>>>> that the RI
> >> > >> > >>>>>
> >> > >> > >>>>>
> >> > >> > >>>>>> does?  I'm not trying to make light
of it, but it sounds
> >> > >> like all
> >> > >> is
> >> > >> > >>>>>> correct.
> >> > >> > >>>>>>
> >> > >> > >>>>>>
> >> > >> > >>>>> Right, from the spec point of view everything
is correct.
> >> > >> But I'd
> >> > >> > >>>>> like to say that our particular order
differs from RI
> >> particular
> >> > >> order
> >> > >> > >>>>> (and such behavior conforms to spec).
My next statement is:
> >> > >> there
> >> > >> are
> >> > >> > >>>>> stupid apps that rely on the particular
order
> >> > >> > >>>>> returned by RI (regardless of spec).
I know one already.
> >> The
> >> > >> question
> >> > >> > >>>>> is: should we care or not?
> >> > >> > >>>>>
> >> > >> > >>>>>
> >> > >> > >>>>>
> >> > >> > >>>> Can you figure out what their order is?
 If so, I'd use that
> >> > >> since
> >> > >> we
> >> > >> > >>>> are free to do what we want, and if someone
does depende
> >> on this,
> >> > >> it's
> >> > >> > >>>> one less change, and it's spec compliant.
> >> > >> > >>>>
> >> > >> > >>>>
> >> > >> > >>>>
> >> > >> > >>> As well as I know,  the order is what the methods
are
> >> declared in
> >> > >> java
> >> > >> > >>> source. (Cannot find any document currently
;-) )
> >> > >> > >>>
> >> > >> > >> IIRC, Sun and JRockit behave differently to this
matter,
> >> > >> JRockit's VM
> >> > >> > >> reports methods in reversed order. Besides, there
are 2 APIs:
> >> > >> > >> getDeclaredMethods() and getMethods() - we should
consider
> >> both
> >> > >> if we
> >> > >> > >> really care. And detecting "right" order for the
last is
> >> tedious -
> >> > >> > >> taking into account variety of heritable methods
(declared
> >> > >> directly,
> >> > >> > >> inherited from superclass(es), inherited from
> >> superinterface(s),
> >> > >> > >> inherited from superinterfaces of superclasses).
> >> > >> > >>
> >> > >> > >
> >> > >> > > What does j9 do?
> >> > >> > >
> >> > >> > >
> >> > >> > For getDeclaredMethods(), J9 has the same behavior as RI.
For
> >> > >> > getMethods, J9 and RI behave differently.   ;-)   But it's
not
> >> so hard
> >> > >> > to summarize RI's rule of method order. Am I wrong?
> >> > >> >
> >> > >> > Best regards,
> >> > >> > Richard
> >> > >> > >> I believe we need a bit stronger motivation for
scratching
> >> this
> >> > >> issue,
> >> > >> > >> than a blunt testcase - some real-world application.
> >> > >> > >>
> >> > >> > >
> >> > >> > >
> >> > >> > > I agree that this isn't a critical issue, but a "nice
to have".
> >> > >> Maybe
> >> > >> > > we see what J9 does, and follow the majority (if we
spend the
> >> > >> time...)?
> >> > >> > >
> >> > >> > > geir
> >> > >> > --
> >> > >> > Richard Liang
> >> > >> > China Software Development Lab, IBM
> >> > >>
> >> > >> --
> >> > >> Alexei Zakharov,
> >> > >> Intel Middleware Product Division
> >> > --
> >> > Richard Liang
> >> > China Software Development Lab, IBM
> >>
> >>
> >> --
> >> Alexei Zakharov,
> >> Intel Middleware Product Division
> >>
> >
> >
>
> --
> Richard Liang
> China Software Development Lab, IBM
>
>
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>
>


-- 
Alexei Zakharov,
Intel Middleware Product Division

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message