RFR (L): Add TSAN instrumentation for allocation and garbage collection

Jean Christophe Beyler jcbeyler at google.com
Thu Jun 27 21:48:32 UTC 2019


Hi Man,

https://cr.openjdk.java.net/~manc/tsanOopMap/webrev.00/src/hotspot/share/runtime/sharedRuntime.cpp.udiff.html
// Note Well.
->
// NOTE:

https://cr.openjdk.java.net/~manc/tsanOopMap/webrev.00/test/hotspot/jtreg/tsan/NonRacyGarbageCollectionLoopTest.java.html
-> I would put a note somewhere that if you change the 40 for HEAP_SIZE you
should change the Xms/Xmx... (I imagined we could create the Xms/Xmx with
string concatenation but that seems overkill)

https://cr.openjdk.java.net/~manc/tsanOopMap/webrev.00/src/hotspot/share/tsan/tsanOopMap.cpp.html
   - I find TsanOopBucket is not the right name, it might be TsanOop

  -  120       do {
 121         h = hash(h);
 122         bucket = &buckets[h % _size];
 123       } while (bucket->has_oop() && bucket->get_oop() != o);

This could be put in a helper method because done twice, no?

- print_map is not used, is it?
- oopMap should be oop_map no?

I admit I have not finished looking at rebuild_oops_map, it is a bit big
;-) could we break it up?

Thanks,
Jc


More information about the tsan-dev mailing list