On Tue, 17 Sep 2024 23:16:47 GMT, David Holmes <dhol...@openjdk.org> wrote:

>> Robert Toyonaga has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains five commits:
>> 
>>  - Merge master
>>  - replace tty in pd_release_memory while holding NMT lock.
>>  - Switch to using a Hotspot Mutex.
>>  - Comments. Hide assertion behind DEBUG. Replace MemoryFileTracker locker. 
>> make reentrant.
>>  - Replace ThreadCritical with a specific NMT lock
>
> src/hotspot/os/windows/os_windows.cpp line 3785:
> 
>> 3783:       log_warning(os)("bad release: [" PTR_FORMAT "-" PTR_FORMAT "): 
>> %s", p2i(start), p2i(end), err);
>> 3784: #ifdef ASSERT
>> 3785:       fileStream fs(stderr);
> 
> tty generally prints to stdout, but now this prints to stderr. I guess it 
> doesn't really matter as we are about to crash anyway.

Ok I've switched it to stdout

> src/hotspot/share/runtime/mutexLocker.hpp line 197:
> 
>> 195:     _mutex(mutex) {
>> 196:     bool no_safepoint_check = flag == Mutex::_no_safepoint_check_flag;
>> 197:     if (_mutex != nullptr && Thread::current_or_null() != nullptr) {
> 
> I do not like this addition to the mutex locker code. First, it probably 
> needs to be `Thread::current_or_null_safe` in case we ever lock in a 
> signal-handling context. But second this slows down all mutex uses. Instead 
> `NMTLocker` should extend ConditionalMutexLocker and make the current thread 
> check the condition.

Ok I've taken those checks out of `MutexLockerImpl` and applied your suggestion.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/20852#discussion_r1769006796
PR Review Comment: https://git.openjdk.org/jdk/pull/20852#discussion_r1769008575

Reply via email to