Conditions with that always returns true is 'if' necessary?
Otávio Gonçalves de Santana
otaviojava at java.net
Tue Apr 22 12:14:44 UTC 2014
Thank for your opinion.
Done this way to keep the pattern.
diff -r 57c1da89ae1a
src/share/classes/java/lang/invoke/BoundMethodHandle.java
--- a/src/share/classes/java/lang/invoke/BoundMethodHandle.java Wed Apr 16
12:32:36 2014 -0700
+++ b/src/share/classes/java/lang/invoke/BoundMethodHandle.java Mon Apr 21
09:50:29 2014 -0300
@@ -66,8 +66,7 @@
try {
switch (xtype) {
case 'L':
- if (true) return bindSingle(type, form, x); // Use known
fast path.
- return (BoundMethodHandle)
SpeciesData.EMPTY.extendWithType('L').constructor[0].invokeBasic(type,
form, x);
+ return bindSingle(type, form, x);
+ // Use known fast path.
case 'I':
return (BoundMethodHandle)
SpeciesData.EMPTY.extendWithType('I').constructor[0].invokeBasic(type,
form, ValueConversions.widenSubword(x));
case 'J':
On Tue, Apr 22, 2014 at 5:07 AM, Paul Sandoz <paul.sandoz at oracle.com> wrote:
> Hi Otávio,
>
> On Apr 21, 2014, at 3:06 PM, Otávio Gonçalves de Santana <
> otaviojava at java.net> wrote:
>
> > Hello everyone, one question.
> > Conditions that always returns true, is 'if' necessary?
>
> I can imagine it is a left over from hacking in the fast path. IMHO better
> to remove the if and comment the line below to retain the general pattern.
>
> Could easily be tacked on to an existing change e.g. if Vladimir is not
> fed up updating his basic types patch :-)
>
> http://cr.openjdk.java.net/~vlivanov/8037210
>
> Paul.
>
> > I found one.
> >
> > diff -r 57c1da89ae1a
> > src/share/classes/java/lang/invoke/BoundMethodHandle.java
> > --- a/src/share/classes/java/lang/invoke/BoundMethodHandle.java Wed Apr
> 16
> > 12:32:36 2014 -0700
> > +++ b/src/share/classes/java/lang/invoke/BoundMethodHandle.java Mon Apr
> 21
> > 09:50:29 2014 -0300
> > @@ -66,8 +66,7 @@
> > try {
> > switch (xtype) {
> > case 'L':
> > - if (true) return bindSingle(type, form, x); // Use
> known
> > fast path.
> > - return (BoundMethodHandle)
> > SpeciesData.EMPTY.extendWithType('L').constructor[0].invokeBasic(type,
> > form, x);
> > + return bindSingle(type, form, x); // Use known fast
> path.
> > case 'I':
> > return (BoundMethodHandle)
> > SpeciesData.EMPTY.extendWithType('I').constructor[0].invokeBasic(type,
> > form, ValueConversions.widenSubword(x));
> > case 'J':
> >
> >
> > --
> > Atenciosamente.
> >
> > Otávio Gonçalves de Santana
> >
> > blog: http://otaviosantana.blogspot.com.br/
> > twitter: http://twitter.com/otaviojava
> > site: http://www.otaviojava.com.br
> > (11) 98255-3513
>
>
--
Atenciosamente.
Otávio Gonçalves de Santana
blog: http://otaviosantana.blogspot.com.br/
twitter: http://twitter.com/otaviojava
site: http://www.otaviojava.com.br
(11) 98255-3513
More information about the core-libs-dev
mailing list