📍 Job mac-m4-mini-perf/speedometer3 complete.
See results at: https://pinpoint-dot-chromeperf.appspot.com/job/1105c96ac90000
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
static std::atomic<bool> has_dumped{false};
if (has_dumped.load(std::memory_order_relaxed)) {
return;
}
if (!has_dumped.exchange(true, std::memory_order_relaxed)) {
base::debug::DumpWithoutCrashing();
}2 questions
1) Do we need this to be atomic? can blink vectors be used on multiple threads?
2) If we do could we just make this a single exchange?
```
if (!has_dumped.exchange(true, std::memory_order_relaxed)) {
base::debug::DumpWithoutCrashing();
}
```
This is because exchange returns the old value before the call, thus is the same as has_dumped.load when it will eventually just become true. Worst case a couple threads see the old value while setting it to true, but that could still occur here with certain threading sequences
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |