Fwd: Re: [foreign] RFR: Debug code for ShuffleRecipe translation

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Mon Dec 17 18:58:59 UTC 2018


Your v2 webrev looks good!

Maurizio

On 17/12/2018 18:54, Jorn Vernee wrote:
> Forwarding to panama-dev since I hit 'reply' instead of 'reply to all' 
> by accident
>
> ---
>
> It will list
>
>     Flags:
>         returnsInMemory
>
> When the return in memory flag is set, but that looks confusing when 
> there are no flags.
>
> I could change it to list
>
>   CallingSequence: {
>     returnsInMemory: false
>     Classes:
>       STACK_ARGUMENT_SLOT
>       VECTOR_ARGUMENT_REGISTER
>       INTEGER_ARGUMENT_REGISTER
>         Storage { INTEGER_ARGUMENT_REGISTER[0] (size=8) } : arg0 @ 0x0
>         Storage { INTEGER_ARGUMENT_REGISTER[1] (size=8) } : arg1 @ 0x0
>       VECTOR_RETURN_REGISTER
>       INTEGER_RETURN_REGISTER
>         Storage { INTEGER_RETURN_REGISTER[0] (size=8) } : __retval @ 0x0
>       X87_RETURN_REGISTER
>   }
>
> Since we only have the 1 flag any ways. Also adding a level of 
> indentation the the list of classes.
>
> Updated webrev: 
> http://cr.openjdk.java.net/~jvernee/panama/webrevs/shuffledebug/webrev.02/
>
> Jorn
>
> Maurizio Cimadamore schreef op 2018-12-17 19:17:
>> Looks good to me! One minor nit, unrelated to your patch, is that the
>> CallingSequence::asString() generates this 'Flags:' string which is, I
>> think, confusing. E.g. this
>>
>>   CallingSequence: {
>>     Flags:
>>     STACK_ARGUMENT_SLOT
>>
>> Should be replaced by this
>>
>>   CallingSequence: {
>>     Classes:
>>     STACK_ARGUMENT_SLOT
>>
>> Maurizio
>>
>> On 17/12/2018 18:11, Jorn Vernee wrote:
>>> Hi,
>>>
>>> This is another piece of debugging code I wrote while porting the 
>>> binder to Windows that might be useful to have in the future.
>>>
>>> This prints info on how a CallingSequence is translated into a 
>>> ShuffleRecipe, e.g.:
>>>
>>> Translating CallingSequence:
>>>   CallingSequence: {
>>>     Flags:
>>>     STACK_ARGUMENT_SLOT
>>>     VECTOR_ARGUMENT_REGISTER
>>>     INTEGER_ARGUMENT_REGISTER
>>>       Storage { INTEGER_ARGUMENT_REGISTER[0] (size=8) } : arg0 @ 0x0
>>>       Storage { INTEGER_ARGUMENT_REGISTER[1] (size=8) } : arg1 @ 0x0
>>>     VECTOR_RETURN_REGISTER
>>>     INTEGER_RETURN_REGISTER
>>>       Storage { INTEGER_RETURN_REGISTER[0] (size=8) } : __retval @ 0x0
>>>     X87_RETURN_REGISTER
>>>   }
>>>
>>> into:
>>>   ShuffleRecipe: {
>>>     Arguments: {
>>>       BUFFER: []
>>>       STACK: []
>>>       VECTOR: []
>>>       INTEGER: [PULL, PULL]
>>>       X87: []
>>>     }
>>>     Returns: {
>>>       BUFFER: []
>>>       STACK: []
>>>       VECTOR: []
>>>       INTEGER: [PULL]
>>>       X87: []
>>>     }
>>>   }
>>>
>>> This is guarded by the flag 
>>> `-Djdk.internal.foreign.abi.ShuffleRecipe.DEBUG=true`.
>>>
>>> Webrev: 
>>> http://cr.openjdk.java.net/~jvernee/panama/webrevs/shuffledebug/webrev.01/
>>>
>>> Please let me know what you think.
>>>
>>> Thanks,
>>> Jorn
>>>


More information about the panama-dev mailing list