Index: third_party/WebKit/Source/platform/heap/ThreadState.cpp |
diff --git a/third_party/WebKit/Source/platform/heap/ThreadState.cpp b/third_party/WebKit/Source/platform/heap/ThreadState.cpp |
index 3f25749d8cdadd8a788234cfe1df540abd0ed44b..31246687fecd55c64ac87964555420a16547ef39 100644 |
--- a/third_party/WebKit/Source/platform/heap/ThreadState.cpp |
+++ b/third_party/WebKit/Source/platform/heap/ThreadState.cpp |
@@ -467,9 +467,8 @@ void ThreadState::threadLocalWeakProcessing() |
TRACE_EVENT0("blink_gc", "ThreadState::threadLocalWeakProcessing"); |
double startTime = WTF::currentTimeMS(); |
- SweepForbiddenScope forbiddenScope(this); |
- if (isMainThread()) |
- ScriptForbiddenScope::enter(); |
+ SweepForbiddenScope sweepForbiddenScope(this); |
+ ScriptForbiddenIfMainThreadScope scriptForbiddenScope; |
// Disallow allocation during weak processing. |
// It would be technically safe to allow allocations, but it is unsafe |
@@ -485,7 +484,6 @@ void ThreadState::threadLocalWeakProcessing() |
while (popAndInvokeThreadLocalWeakCallback(&weakProcessingVisitor)) { } |
if (isMainThread()) { |
- ScriptForbiddenScope::exit(); |
double timeForThreadLocalWeakProcessing = WTF::currentTimeMS() - startTime; |
Platform::current()->histogramCustomCounts("BlinkGC.timeForThreadLocalWeakProcessing", timeForThreadLocalWeakProcessing, 1, 10 * 1000, 50); |
} |
@@ -784,8 +782,7 @@ void ThreadState::performIdleLazySweep(double deadlineSeconds) |
SweepForbiddenScope scope(this); |
{ |
double startTime = WTF::currentTimeMS(); |
- if (isMainThread()) |
- ScriptForbiddenScope::enter(); |
+ ScriptForbiddenIfMainThreadScope scriptForbiddenScope; |
for (int i = 0; i < BlinkGC::NumberOfHeaps; i++) { |
// lazySweepWithDeadline() won't check the deadline until it sweeps |
@@ -801,8 +798,6 @@ void ThreadState::performIdleLazySweep(double deadlineSeconds) |
} |
} |
- if (isMainThread()) |
- ScriptForbiddenScope::exit(); |
accumulateSweepingTime(WTF::currentTimeMS() - startTime); |
} |
@@ -1075,17 +1070,11 @@ void ThreadState::eagerSweep() |
return; |
SweepForbiddenScope scope(this); |
- { |
- double startTime = WTF::currentTimeMS(); |
- if (isMainThread()) |
- ScriptForbiddenScope::enter(); |
- |
- m_heaps[BlinkGC::EagerSweepHeapIndex]->completeSweep(); |
+ ScriptForbiddenIfMainThreadScope scriptForbiddenScope; |
- if (isMainThread()) |
- ScriptForbiddenScope::exit(); |
- accumulateSweepingTime(WTF::currentTimeMS() - startTime); |
- } |
+ double startTime = WTF::currentTimeMS(); |
+ m_heaps[BlinkGC::EagerSweepHeapIndex]->completeSweep(); |
+ accumulateSweepingTime(WTF::currentTimeMS() - startTime); |
} |
void ThreadState::completeSweep() |
@@ -1103,8 +1092,7 @@ void ThreadState::completeSweep() |
SweepForbiddenScope scope(this); |
{ |
- if (isMainThread()) |
- ScriptForbiddenScope::enter(); |
+ ScriptForbiddenIfMainThreadScope scriptForbiddenScope; |
TRACE_EVENT0("blink_gc", "ThreadState::completeSweep"); |
double startTime = WTF::currentTimeMS(); |
@@ -1116,10 +1104,8 @@ void ThreadState::completeSweep() |
double timeForCompleteSweep = WTF::currentTimeMS() - startTime; |
accumulateSweepingTime(timeForCompleteSweep); |
- if (isMainThread()) { |
- ScriptForbiddenScope::exit(); |
+ if (isMainThread()) |
Platform::current()->histogramCustomCounts("BlinkGC.CompleteSweep", timeForCompleteSweep, 1, 10 * 1000, 50); |
- } |
} |
postSweep(); |
@@ -1341,9 +1327,8 @@ void ThreadState::invokePreFinalizers() |
double startTime = WTF::currentTimeMS(); |
if (!m_orderedPreFinalizers.isEmpty()) { |
- SweepForbiddenScope forbiddenScope(this); |
- if (isMainThread()) |
- ScriptForbiddenScope::enter(); |
+ SweepForbiddenScope sweepForbidden(this); |
+ ScriptForbiddenIfMainThreadScope scriptForbidden; |
// Call the prefinalizers in the opposite order to their registration. |
// |
@@ -1361,9 +1346,6 @@ void ThreadState::invokePreFinalizers() |
if ((entry->second)(entry->first)) |
m_orderedPreFinalizers.remove(entry); |
} while (!done); |
- |
- if (isMainThread()) |
- ScriptForbiddenScope::exit(); |
} |
if (isMainThread()) { |
double timeForInvokingPreFinalizers = WTF::currentTimeMS() - startTime; |