[foreign] RFR: Debug code for ShuffleRecipe translation
Sundararajan Athijegannathan
sundararajan.athijegannathan at oracle.com
Tue Dec 18 04:49:05 UTC 2018
I see that you've pushed the changeset already. I'll take care of this
in another patch.
-Sundar
On 18/12/18, 8:35 AM, Sundararajan Athijegannathan wrote:
> ShuffleRecipe:
>
> + private static final boolean DEBUG =
> Boolean.getBoolean("jdk.internal.foreign.abi.ShuffleRecipe.DEBUG");
>
>
> should use
>
> sun.security.action.GetBooleanAction.privilegedGetProperty
>
> Or else, SecurityException will be thrown if there was any untrusted
> caller in the stack.
>
> -Sundar
>
> On 17/12/18, 11:41 PM, 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