RFR 8229919: Support JNI Critical functions in object pinning API on x86_32 platforms

Andrew Dinn adinn at redhat.com
Tue Oct 15 14:52:46 UTC 2019


Hi Zhengyu,

On 04/10/2019 20:22, Zhengyu Gu wrote:
> Ping! May I get a second review?

Yes, the patch looks good.

Only one tentative suggestion. It might help those coming to this from
the x86_64 code to add a comment before the calls to gen_pin_object and
gen_unpin_object to mention that those calls handle saving and restoring
of any registers clobbered by the call i.e.

1986           if (Universe::heap()->supports_object_pinning()) {
+                 // gen_pin_object handles save and restore
+                 // of any clobbered registers
1987             gen_pin_object(masm, thread, in_arg);

and


2209       }
+                 // gen_pin_object handles save and restore
+                 // of any other clobbered registers
2210       gen_unpin_object(masm, thread, in_regs[i]);

(note 'other' in the 2nd comment means other than the result register)

You decide. I don't need another webrev.

regards,


Andrew Dinn
-----------

> On 9/18/19 10:46 AM, Roman Kennke wrote:
>> Hi Zhengyu,
>>
>> It looks good to me!
>>
>> Thanks,
>> Roman
>>
>>
>>> Please review this patch that supports JNI critical functions in
>>> object pinning capable GCs on x86_32 platforms.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8229919
>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8229919/webrev.00/
>>>
>>> Test:
>>>    hotspot_gc_shenandoah (fastdebug and release) with 32-bit VM on
>>> Linux x86_64.
>>>    hotspot_gc, hotspot_runtime and hotspot_compiler
>>>    Submit tests in progress.
>>>
>>> Thanks,
>>>
>>> -Zhengyu
> 


More information about the shenandoah-dev mailing list