RFR (S) 8231410: Shenandoah: clone barrier should use base pointer
Roman Kennke
rkennke at redhat.com
Wed Sep 25 12:13:59 UTC 2019
I guess it's more about not touching headers. Ultimately it's a little
bit of overkill, but I am suspicious of clone() because I noticed some
benchmarks make heavy use of it. The runtime is only touched on >32 or
unknown numbers of fields though. Anyhow, I think it doesn't hurt to
touch less memory while copying, especially because the compiled
setup-code computes all those interior pointers and counts for us
already anyway.
I removed printing, fixed the signatures and also added include for
copy.hpp:
http://cr.openjdk.java.net/~rkennke/JDK-8231410/webrev.04/
Running full test suites. Ok, given passing tests?
Roman
> On 9/25/19 1:53 PM, Roman Kennke wrote:
>> I'd suggest passing the interior ptrs and length too, and copy only the payload (avoids touching the
>> src-size and src/dst headers):
>>
>> http://cr.openjdk.java.net/~rkennke/JDK-8231410/webrev.03/
>
> Ok, fine. I don't see the fault in touching oop->size(), but whatever.
>
> Please match argument names in declaration and definition of clone_barrier. Also, stray printing.
>
More information about the shenandoah-dev
mailing list