hg: mlvm/mlvm/hotspot: meth: rebase to b42; improve implementation

Ben Evans benjamin.john.evans at googlemail.com
Fri Dec 26 13:59:12 PST 2008


Hi Kirrill,

Yeah, I figured those out independently - and I think I've got those patches
to apply against the current bsd port with some manual hackery.

I'm testing it now to check it took OK and will let the list know how I get
on.

Thanks,

Ben

On Fri, Dec 26, 2008 at 9:35 PM, Kirill Shirokov <Kirill.Shirokov at sun.com>wrote:

>  Hi Ben,
>
> It seems that the following is a correct patch for these 2 files
> (Parser.java and Name.java):
>
> diff -r 871c1708de94
> src/share/classes/com/sun/tools/javac/parser/JavacParser.java
> --- a/src/share/classes/com/sun/tools/javac/parser/JavacParser.java     Tue
> Dec 23 05:50:59 2008 +0300
> +++ b/src/share/classes/com/sun/tools/javac/parser/JavacParser.java     Sat
> Dec 27 00:29:06 2008 +0300
> @@ -1027,7 +1027,13 @@
>                      return illegal(pos);
>                  }
>              } else {
> -                return illegal();
> +                // Support the corner case of
> myMethodHandle.<void>invoke() by passing
> +                // a void type (like other primitive types) to the next
> phase.
> +                // The error will be reported in Attr.attribTypes or
> Attr.visitApply.
> +                JCPrimitiveTypeTree ti =
> to(F.at(pos).TypeIdent(TypeTags.VOID));
> +                S.nextToken();
> +                return ti;
> +                //return illegal();
>              }
>              break;
>          default:
> diff -r 871c1708de94 src/share/classes/com/sun/tools/javac/util/Names.java
> --- a/src/share/classes/com/sun/tools/javac/util/Names.java     Tue Dec 23
> 05:50:59 2008 +0300
> +++ b/src/share/classes/com/sun/tools/javac/util/Names.java     Sat Dec 27
> 00:29:07 2008 +0300
> @@ -73,6 +73,8 @@
>      public final Name java_io_Serializable;
>      public final Name serialVersionUID;
>      public final Name java_lang_Enum;
> +    public final Name java_dyn_MethodHandle;
> +    public final Name java_dyn_Dynamic;
>      public final Name package_info;
>      public final Name ConstantValue;
>      public final Name LineNumberTable;
> @@ -111,6 +113,7 @@
>      public final Name value;
>      public final Name getMessage;
>      public final Name getClass;
> +    public final Name invoke;
>      public final Name TYPE;
>      public final Name FIELD;
>      public final Name METHOD;
> @@ -175,6 +178,8 @@
>          java_lang_Cloneable = fromString("java.lang.Cloneable");
>          java_io_Serializable = fromString("java.io.Serializable");
>          java_lang_Enum = fromString("java.lang.Enum");
> +        java_dyn_MethodHandle = fromString("java.dyn.MethodHandle");
> +        java_dyn_Dynamic = fromString("java.dyn.Dynamic");
>          package_info = fromString("package-info");
>          serialVersionUID = fromString("serialVersionUID");
>          ConstantValue = fromString("ConstantValue");
> @@ -216,6 +221,7 @@
>          value = fromString("value");
>          getMessage = fromString("getMessage");
>          getClass = fromString("getClass");
> +        invoke = fromString("invoke");
>
>          TYPE = fromString("TYPE");
>          FIELD = fromString("FIELD");
>
> Best regards,
> Kirill
>
> Ben Evans пишет:
>
> Merry Christmas John (and everyone),
>
> I'm starting to look at the delta between the current bsd-port and b42, to
> see what needs doing to get this building on Mac and I've noticed something
> which seems a bit odd about meth.patch
>
> It contains this hunk:
>
> diff --git a/src/share/classes/com/sun/tools/javac/util/Name.java
> b/src/share/classes/com/sun/tools/javac/util/Name.java
> --- a/src/share/classes/com/sun/tools/javac/util/Name.java
> +++ b/src/share/classes/com/sun/tools/javac/util/Name.java
> @@ -437,6 +437,8 @@
>              java_lang_Cloneable = fromString("java.lang.Cloneable");
>              java_io_Serializable = fromString("java.io.Serializable");
>              java_lang_Enum = fromString("java.lang.Enum");
> +            java_dyn_MethodHandle = fromString("java.dyn.MethodHandle");
> +            java_dyn_Dynamic = fromString("java.dyn.Dynamic");
>              package_info = fromString("package-info");
>              serialVersionUID = fromString("serialVersionUID");
>              ConstantValue = fromString("ConstantValue");
> @@ -478,6 +480,7 @@
>              value = fromString("value");
>              getMessage = fromString("getMessage");
>              getClass = fromString("getClass");
> +            invoke = fromString("invoke");
>
>              TYPE = fromString("TYPE");
>              FIELD = fromString("FIELD");
> @@ -571,6 +574,8 @@
>          public final Name java_io_Serializable;
>          public final Name serialVersionUID;
>          public final Name java_lang_Enum;
> +        public final Name java_dyn_MethodHandle;
> +        public final Name java_dyn_Dynamic;
>          public final Name package_info;
>          public final Name ConstantValue;
>          public final Name LineNumberTable;
> @@ -612,6 +617,7 @@
>          public final Name value;
>          public final Name getMessage;
>          public final Name getClass;
> +        public final Name invoke;
>
>          public final Name TYPE;
>          public final Name FIELD;
>
> but in the code which I fclone'd today, those additions look like they
> should be applied to Names.java rather than Name.java as the diff line would
> suggest.
>
> Am I making some schoolboy error which currently eludes me?
>
> Thanks,
>
> Ben
>
> On Fri, Dec 26, 2008 at 9:03 AM, John Rose <John.Rose at sun.com> wrote:
>
>> I've spent the last 24+ hours enjoying more traditional forms of
>> merrymaking.  (Though I was indeed having a wild ride with that meth.patch
>> stuff.)
>>  Merry Christmas (x 12 days of); enjoy all the good things the holidays
>> bring!
>>
>>  Warm best wishes,
>> -- John
>>  On Dec 25, 2008, at 6:36 AM, David Pollak wrote:
>>
>> (F)rebasing meth... a new kind of Christmas cheer.  :-)
>>
>> Sorry... it's t-minus 30 minutes to kids waking up and I spent many hours
>> last night doing "some assembly required"
>>
>>
>>  On Dec 24, 2008 8:22 PM, <john.rose at sun.com> wrote:
>>
>> Changeset: 1d42dc25d9e3
>> Author:    jrose
>> Date:      2008-12-24 19:53 -0800
>> URL:       http://hg.openjdk.java.net/mlvm/mlvm/hotspot/rev/1d42dc25d9e3
>>
>> meth: rebase to b42; improve implementation
>>
>> ! meth.patch
>> ! meth.txt
>> ! series
>>
>> _____________
>>
>>
>> _______________________________________________
>> mlvm-dev mailing list
>> mlvm-dev at openjdk.java.net
>> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20081226/67a8639d/attachment.html 


More information about the mlvm-dev mailing list