Commit a07420a1 authored by Ulan Degenbaev's avatar Ulan Degenbaev Committed by Commit Bot

bindings: Remove MajorGC/MinorGC trace events

These events are now emitted by V8 ensuring proper event nesting which
is necessary for upcoming perfetto change.

The corresponding V8 change:
https://chromium-review.googlesource.com/c/v8/v8/+/1928857

Bug: 1026658
Change-Id: Icbe75d8c6da18ea0894446e23162c7794dc1fd29
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1929227Reviewed-by: default avatarEric Seckler <eseckler@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#718403}
parent 58aa0b0b
...@@ -82,12 +82,6 @@ bool IsDOMWrapperClassId(uint16_t class_id) { ...@@ -82,12 +82,6 @@ bool IsDOMWrapperClassId(uint16_t class_id) {
class_id == WrapperTypeInfo::kCustomWrappableId; class_id == WrapperTypeInfo::kCustomWrappableId;
} }
size_t UsedHeapSize(v8::Isolate* isolate) {
v8::HeapStatistics heap_statistics;
isolate->GetHeapStatistics(&heap_statistics);
return heap_statistics.used_heap_size();
}
bool IsNestedInV8GC(ThreadState* thread_state, v8::GCType type) { bool IsNestedInV8GC(ThreadState* thread_state, v8::GCType type) {
return thread_state && (type == v8::kGCTypeMarkSweepCompact || return thread_state && (type == v8::kGCTypeMarkSweepCompact ||
type == v8::kGCTypeIncrementalMarking); type == v8::kGCTypeIncrementalMarking);
...@@ -120,31 +114,15 @@ void V8GCController::GcPrologue(v8::Isolate* isolate, ...@@ -120,31 +114,15 @@ void V8GCController::GcPrologue(v8::Isolate* isolate,
v8::HandleScope scope(isolate); v8::HandleScope scope(isolate);
switch (type) { switch (type) {
case v8::kGCTypeScavenge: case v8::kGCTypeScavenge:
TRACE_EVENT_BEGIN1("devtools.timeline,v8", "MinorGC",
"usedHeapSizeBefore", UsedHeapSize(isolate));
if (ThreadState::Current()) if (ThreadState::Current())
ThreadState::Current()->WillStartV8GC(BlinkGC::kV8MinorGC); ThreadState::Current()->WillStartV8GC(BlinkGC::kV8MinorGC);
break; break;
case v8::kGCTypeMarkSweepCompact:
if (ThreadState::Current())
ThreadState::Current()->WillStartV8GC(BlinkGC::kV8MajorGC);
TRACE_EVENT_BEGIN2("devtools.timeline,v8", "MajorGC",
"usedHeapSizeBefore", UsedHeapSize(isolate), "type",
"atomic pause");
break;
case v8::kGCTypeIncrementalMarking: case v8::kGCTypeIncrementalMarking:
case v8::kGCTypeMarkSweepCompact:
if (ThreadState::Current()) if (ThreadState::Current())
ThreadState::Current()->WillStartV8GC(BlinkGC::kV8MajorGC); ThreadState::Current()->WillStartV8GC(BlinkGC::kV8MajorGC);
TRACE_EVENT_BEGIN2("devtools.timeline,v8", "MajorGC",
"usedHeapSizeBefore", UsedHeapSize(isolate), "type",
"incremental marking");
break; break;
case v8::kGCTypeProcessWeakCallbacks: case v8::kGCTypeProcessWeakCallbacks:
TRACE_EVENT_BEGIN2("devtools.timeline,v8", "MajorGC",
"usedHeapSizeBefore", UsedHeapSize(isolate), "type",
"weak processing");
break; break;
default: default:
NOTREACHED(); NOTREACHED();
...@@ -172,26 +150,6 @@ void V8GCController::GcEpilogue(v8::Isolate* isolate, ...@@ -172,26 +150,6 @@ void V8GCController::GcEpilogue(v8::Isolate* isolate,
? ThreadState::Current()->Heap().stats_collector() ? ThreadState::Current()->Heap().stats_collector()
: nullptr); : nullptr);
UpdateCollectedPhantomHandles(isolate); UpdateCollectedPhantomHandles(isolate);
switch (type) {
case v8::kGCTypeScavenge:
TRACE_EVENT_END1("devtools.timeline,v8", "MinorGC", "usedHeapSizeAfter",
UsedHeapSize(isolate));
break;
case v8::kGCTypeMarkSweepCompact:
TRACE_EVENT_END1("devtools.timeline,v8", "MajorGC", "usedHeapSizeAfter",
UsedHeapSize(isolate));
break;
case v8::kGCTypeIncrementalMarking:
TRACE_EVENT_END1("devtools.timeline,v8", "MajorGC", "usedHeapSizeAfter",
UsedHeapSize(isolate));
break;
case v8::kGCTypeProcessWeakCallbacks:
TRACE_EVENT_END1("devtools.timeline,v8", "MajorGC", "usedHeapSizeAfter",
UsedHeapSize(isolate));
break;
default:
NOTREACHED();
}
ScriptForbiddenScope::Exit(); ScriptForbiddenScope::Exit();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment