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

Jorn Vernee jbvernee at xs4all.nl
Mon Dec 17 18:54:02 UTC 2018


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