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