Hotspot Zero patch for invokedynamic
Chris Phillips @ T O
ChrisPhi at LGonQn.Org
Wed May 9 03:18:26 PDT 2012
Hi David,
Looks OK to me...
I think it should go into 7u also.
Cheers!
Chris
On 09/05/12 12:35 AM, David Holmes wrote:
> Andrew, Chris,
>
> Can you please check:
>
> http://cr.openjdk.java.net/~dholmes/7167406/webrev/
>
> and confirm the attribution is correct. If so I will submit this to JPRT.
>
> Does this need to go into the 7u train as well?
>
> David
>
> On 9/05/2012 1:30 PM, Chris Phillips @ T O wrote:
>> Hi David,
>>
>> Yes, I have reviewed and applied it. Its OK for Zero, it fixes problems
>> encountered in JSR 292 testing.
>>
>> Cheers!
>> Chris
>>
>>
>> On 08/05/12 09:00 PM, David Holmes wrote:
>>> Hi Andrew,
>>>
>>> Is there some other Zero developer who can act as reviewer for this?
>>> Preferably someone with an OpenJDK username so it can be recorded in
>>> the changeset.
>>>
>>> Thanks,
>>> David
>>>
>>> On 9/05/2012 1:08 AM, Andrew Dinn wrote:
>>>> Enclosed below are details of a patch to the hsx/hotspot-main tree.
>>>> The
>>>> patch fixes some errors which manifested in the Zero ARM code when
>>>> running the TCK tests which exercise method handles. This patch has
>>>> already been applied to the iced tea 7-2.1 hotspot hg repository and
>>>> found to correct the errors when retested on ARM. However, since the
>>>> changes actually apply to Zero code (none of which is not
>>>> ARM-specific)
>>>> I think it really ought to be included in the hotspot tree.
>>>>
>>>> I would be grateful if someone would agree to sponsor this patch for
>>>> inclusion into the relevant hotspot repo(s).
>>>>
>>>> n.b. I originally posted this last week with a full webrev attached
>>>> but
>>>> the note was held (for all I know still may be held) awaiting
>>>> moderation
>>>> because of the size of the attachment. I will happily forward the
>>>> webrev
>>>> to whoever is willing to sponsor this patch.
>>>>
>>>> regards,
>>>>
>>>>
>>>> Andrew Dinn
>>>> -----------
>>>> Principal Software Engineer
>>>> Red Hat UK Ltd
>>>> Registered in UK and Wales under Company Registration No. 3798903
>>>> Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt
>>>> Parson
>>>> (USA), Charlie Peters (USA)
>>>>
>>>> index.html
>>>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< --------
>>>> 8< ---
>>>> Code Review for hotspot
>>>> Prepared by: "Andrew Dinn " on Fri May 4 17:40:58 BST 2012
>>>> Workspace: /ssd/home/adinn/redhat/openjdk/hsx/hotspot-main/hotspot
>>>> Compare against: http://hg.openjdk.java.net/hsx/hotspot-main//hotspot
>>>> Compare against version: 3292
>>>> Summary of changes: 19 lines changed: 19 ins; 0 del; 0 mod; 1565 unchg
>>>> Patch of changes: hotspot.patch
>>>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< --------
>>>> 8< ---
>>>> hotspot.patch:
>>>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< --------
>>>> 8< ---
>>>> --- old/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04
>>>> 17:40:57.837805644 +0100
>>>> +++ new/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04
>>>> 17:40:57.756806657 +0100
>>>> @@ -1026,6 +1026,16 @@
>>>> java_lang_invoke_AdapterMethodHandle::vmargslot(method_handle);
>>>> oop arg = VMSLOTS_OBJECT(arg_slot);
>>>> jvalue arg_value;
>>>> + if (arg == NULL) {
>>>> + // queue a nullpointer exception for the caller
>>>> + stack->set_sp(calculate_unwind_sp(stack, method_handle));
>>>> + CALL_VM_NOCHECK_NOFIX(
>>>> + throw_exception(
>>>> + thread, vmSymbols::java_lang_NullPointerException()));
>>>> + // NB all oops trashed!
>>>> + assert(HAS_PENDING_EXCEPTION, "should do");
>>>> + return;
>>>> + }
>>>> BasicType arg_type = java_lang_boxing_object::get_value(arg,
>>>> &arg_value);
>>>> if (arg_type == T_LONG || arg_type == T_DOUBLE) {
>>>> intptr_t *unwind_sp = calculate_unwind_sp(stack, method_handle);
>>>> @@ -1112,6 +1122,15 @@
>>>> case T_SHORT:
>>>> return;
>>>> }
>>>> + // INT results sometimes need narrowing
>>>> + case T_BOOLEAN:
>>>> + case T_CHAR:
>>>> + case T_BYTE:
>>>> + case T_SHORT:
>>>> + switch (src_rtype) {
>>>> + case T_INT:
>>>> + return;
>>>> + }
>>>> }
>>>>
>>>> tty->print_cr("unhandled conversion:");
>>>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< --------
>>>> 8< ---
>>>
>>>
>>
>
>
More information about the hotspot-dev
mailing list