[RFR] Fix clobbered address passed to TSAN

Arthur Eubanks aeubanks at google.com
Thu Jun 27 00:36:30 UTC 2019


On Wed, Jun 26, 2019 at 4:20 PM Man Cao <manc at google.com> wrote:

> Offline chat with Arthur, for passing parameter to
> SharedRuntime::verify_oop_index, it might be better to do the following
> instead, so it accounts for field._disp:
> __ leaq(c_rarg0, field);
> __ subq(c_rarg0, field.base());
>
Done.

>
> And why does it need "__ get_method(c_rarg2)", as c_rarg2 seems unused?
>
Sorry, that's from my debugging, removed.

>
> -Man
>
>
> On Wed, Jun 26, 2019 at 4:07 PM Jean Christophe Beyler <
> jcbeyler at google.com> wrote:
>
>> Hi Arthur,
>>
>> LGTM,  I was curious if the DEBUG code you added made sense to go upstream
>> to help diagnose issues or was this a failure that is only provoked by
>> TSAN's instrumentation before this patch and can never happen otherwise?
>>
> I suppose it's possible to add this to upstream. It's something we'd
probably have to put it behind the VerifyOops flag since I think it
significantly slow down execution time. And I think the code around
loading/storing from an array/field in interpreter code is pretty stable :P

>
>> Thanks,
>> Jc
>>
>
New webrev:
http://cr.openjdk.java.net/~aeubanks/tsanarrayclobber/webrev.01/index.html


More information about the tsan-dev mailing list