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