RFR: 8202479: Add missing try_resolve_jobject_in_native calls
Erik Osterlund
erik.osterlund at oracle.com
Mon May 7 15:13:03 UTC 2018
Hi Coleen,
Thanks for the review.
/Erik
> On 7 May 2018, at 16:58, coleen.phillimore at oracle.com wrote:
>
>
>
>> On 5/7/18 10:39 AM, Erik Österlund wrote:
>> Hi Coleen,
>>
>> Thank you for having a look at this!
>>
>>> On 2018-05-07 15:51, coleen.phillimore at oracle.com wrote:
>>>
>>> http://cr.openjdk.java.net/~eosterlund/8202479/webrev.00/src/hotspot/cpu/sparc/jniFastGetField_sparc.cpp.udiff.html
>>>
>>> Generally G3 is seen as G3_scratch in sparc code.
>>
>> Yes, but I noticed that this is not the case in this file, and tried to follow the conventions for this file.
>>
>>> Why don't both paths have G3 as tmp?
>>
>> Because one of them retains the old safepoint counter in G3. So if I scratch G3, then a subsequent check that the safepoint counter has not changed from before the access was made, will fail. So in that peculiar case, I had to find a different register. I chose G1, because it is caller saved in both the Java and C ABIs - like G3.
>
> Ok, looks good then. I like that you've trashed the register if the branch isn't taken for checking that it's free.
> thanks,
> Coleen
>
>>
>> Thanks,
>> /Erik
>>
>>> thanks,
>>> Coleen
>>>
>>>> On 5/7/18 4:53 AM, Erik Österlund wrote:
>>>> Ping!
>>>>
>>>>> On 2018-05-01 17:00, Erik Österlund wrote:
>>>>> Hi,
>>>>>
>>>>> There are some missing calls to try_resolve_jobject_in_native for the jni fast get field optimization.
>>>>>
>>>>> On x86_64, it is used for T_BOOLEAN, T_BYTE, T_CHAR, T_SHORT, T_INT and T_LONG, but is missing for T_FLOAT and T_DOUBLE.
>>>>> On SPARC, it is used for T_BOOLEAN, T_BYTE, T_CHAR, T_SHORT, T_INT, but is missing for T_LONG, T_FLOAT and T_DOUBLE.
>>>>> On AArch64, it is used for all types.
>>>>>
>>>>> Here is a patch to add the missing calls to try_resolve_jobject_in_native.
>>>>>
>>>>> Webrev:
>>>>> http://cr.openjdk.java.net/~eosterlund/8202479/webrev.00/
>>>>>
>>>>> Bug:
>>>>> https://bugs.openjdk.java.net/browse/JDK-8202479
>>>>>
>>>>> Thanks,
>>>>> /Erik
>>>>
>>>
>>
>
More information about the hotspot-dev
mailing list