Reland of Ensure counters are initialized, to avoid init on non-joinable threads. (patchset #1 id:1 of https://codereview.chromium.org/2812653002/ )
Reason for revert: Appears to be a flake. Both jgruber and I tried to repro locally and failed. Also change has little change of having had caused those failures. Original issue's description: > Revert of Ensure counters are initialized, to avoid init on non-joinable threads. (patchset #1 id:1 of https://codereview.chromium.org/2812543002/ ) > > Reason for revert: > https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20gyp/builds/5221 > > Original issue's description: > > Ensure counters are initialized, to avoid init on non-joinable threads. > > > > This occurs in the wasm scenario described in the referenced bug. > > DecodeWasmModule collects statistics. Blink inserts a CreateHistogramCallback that > > can't instantiate a histogram on non-joinable threads. Turns out, DecodeWasmModule > > is scheduled on such a thread, now that we have async compilation. > > > > This fix pre-initializes histograms when the callback is applied, which is assumed to > > be in a context that can carry out the instantiation. In Blink, this happens on the main > > thread. > > > > BUG=chromium:709684 > > > > Review-Url: https://codereview.chromium.org/2812543002 > > Cr-Commit-Position: refs/heads/master@{#44522} > > Committed:022e7ddf23
> > TBR=jochen@chromium.org,mtrofin@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=chromium:709684 > > Review-Url: https://codereview.chromium.org/2812653002 > Cr-Commit-Position: refs/heads/master@{#44527} > Committed:038bafcb8c
TBR=jochen@chromium.org,jgruber@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:709684 Review-Url: https://codereview.chromium.org/2813673002 Cr-Commit-Position: refs/heads/master@{#44529}
This commit is contained in:
parent
db61537afc
commit
1ee2a998fa
@ -8584,6 +8584,7 @@ void Isolate::SetCreateHistogramFunction(CreateHistogramCallback callback) {
|
||||
isolate->stats_table()->SetCreateHistogramFunction(callback);
|
||||
isolate->InitializeLoggingAndCounters();
|
||||
isolate->counters()->ResetHistograms();
|
||||
isolate->counters()->InitializeHistograms();
|
||||
}
|
||||
|
||||
|
||||
|
@ -252,6 +252,30 @@ void Counters::ResetHistograms() {
|
||||
|
||||
#define HM(name, caption) name##_.Reset();
|
||||
HISTOGRAM_LEGACY_MEMORY_LIST(HM)
|
||||
HISTOGRAM_MEMORY_LIST(HM)
|
||||
#undef HM
|
||||
}
|
||||
|
||||
void Counters::InitializeHistograms() {
|
||||
#define HR(name, caption, min, max, num_buckets) name##_.Enabled();
|
||||
HISTOGRAM_RANGE_LIST(HR)
|
||||
#undef HR
|
||||
|
||||
#define HT(name, caption, max, res) name##_.Enabled();
|
||||
HISTOGRAM_TIMER_LIST(HT)
|
||||
#undef HT
|
||||
|
||||
#define AHT(name, caption) name##_.Enabled();
|
||||
AGGREGATABLE_HISTOGRAM_TIMER_LIST(AHT)
|
||||
#undef AHT
|
||||
|
||||
#define HP(name, caption) name##_.Enabled();
|
||||
HISTOGRAM_PERCENTAGE_LIST(HP)
|
||||
#undef HP
|
||||
|
||||
#define HM(name, caption) name##_.Enabled();
|
||||
HISTOGRAM_LEGACY_MEMORY_LIST(HM)
|
||||
HISTOGRAM_MEMORY_LIST(HM)
|
||||
#undef HM
|
||||
}
|
||||
|
||||
|
@ -1273,6 +1273,8 @@ class Counters {
|
||||
|
||||
void ResetCounters();
|
||||
void ResetHistograms();
|
||||
void InitializeHistograms();
|
||||
|
||||
RuntimeCallStats* runtime_call_stats() { return &runtime_call_stats_; }
|
||||
|
||||
private:
|
||||
|
Loading…
Reference in New Issue
Block a user