RFR: Reimplement TsanOopMap support using WeakHandle and ResizeableResourceHashtable [v4]
Jiangli Zhou
jiangli at openjdk.org
Tue Jul 23 23:39:24 UTC 2024
On Tue, 23 Jul 2024 01:04:48 GMT, Man Cao <manc at openjdk.org> wrote:
>> Jiangli Zhou has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Update TsanOopMap.hpp comment with more details.
>
> src/hotspot/share/tsan/tsanOopMap.cpp line 263:
>
>> 261: // OopStorage so the number matches with the 'weak_count' in oopStorageSet.hpp.
>> 262: void TsanOopMap::initialize_map() {
>> 263: // No need to do register_num_dead_callback for concurrent work as we do
>
> Perhaps we can document this more explicitly, perhaps in tsanOopMap.hpp, that currently TsanOopMap/OopStorage must be processed during a stop-the-world GC pause. This is because we need to update TSAN's metadata for all moved or freed objects during GC, before the mutator reads or writes to these objects. Thus, unlikely other weak OopStorage, TsanOopMap does not support concurrent processing, and does not need to call `OopStorage::register_num_dead_callback()`.
SG. I added more details in tsanOopMap.hpp.
-------------
PR Review Comment: https://git.openjdk.org/tsan/pull/19#discussion_r1688873401
More information about the tsan-dev
mailing list