[
Lists Home |
Date Index |
Thread Index
]
- From: "Clark C. Evans" <clark.evans@manhattanproject.com>
- To: David Brownell <david-b@pacbell.net>
- Date: Thu, 13 Jan 2000 15:50:28 -0500 (EST)
On Thu, 13 Jan 2000, David Brownell wrote:
> > A java compiler could, for instance, take:
> >
> > lhs.equals(rhs)
> >
> > and compile it as
> >
> > ( lhs == rhs | lhs.equals(rhs) )
>
> Any implementation of "equals" that doesn't
> first test for "==" has serious problems; and
> I include the String.equals implementations
> up to JDK 1.1.6 or so when I say that.
>
> Even so, method invocation is never free, and it's
> appropriate to ensure that it can be (sometimes)
> eliminated directly in the source code.
If I remember the rules, if the first member of
an alternation is true, then the second member
is not evaluated. Thus, the above would not
incur a method invocation unless the strings
were not interned.
But, in general, I dig the point.
Clark
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ or CD-ROM/ISBN 981-02-3594-1
Please note: New list subscriptions now closed in preparation for transfer to OASIS.
|