summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/heap/impl/blink_gc.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/heap/impl/blink_gc.cc')
-rw-r--r--chromium/third_party/blink/renderer/platform/heap/impl/blink_gc.cc71
1 files changed, 71 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/platform/heap/impl/blink_gc.cc b/chromium/third_party/blink/renderer/platform/heap/impl/blink_gc.cc
new file mode 100644
index 00000000000..58c86eb7a12
--- /dev/null
+++ b/chromium/third_party/blink/renderer/platform/heap/impl/blink_gc.cc
@@ -0,0 +1,71 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "third_party/blink/renderer/platform/heap/blink_gc.h"
+
+namespace blink {
+
+const char* BlinkGC::ToString(BlinkGC::GCReason reason) {
+ switch (reason) {
+ case BlinkGC::GCReason::kForcedGCForTesting:
+ return "ForcedGCForTesting";
+ case BlinkGC::GCReason::kThreadTerminationGC:
+ return "ThreadTerminationGC";
+ case BlinkGC::GCReason::kUnifiedHeapGC:
+ return "UnifiedHeapGC";
+ case BlinkGC::GCReason::kUnifiedHeapForMemoryReductionGC:
+ return "UnifiedHeapForMemoryReductionGC";
+ case BlinkGC::GCReason::kUnifiedHeapForcedForTestingGC:
+ return "UnifiedHeapForcedForTestingGC";
+ }
+ IMMEDIATE_CRASH();
+}
+
+const char* BlinkGC::ToString(BlinkGC::MarkingType type) {
+ switch (type) {
+ case BlinkGC::MarkingType::kAtomicMarking:
+ return "AtomicMarking";
+ case BlinkGC::MarkingType::kIncrementalAndConcurrentMarking:
+ return "IncrementalAndConcurrentMarking";
+ }
+ IMMEDIATE_CRASH();
+}
+
+const char* BlinkGC::ToString(BlinkGC::SweepingType type) {
+ switch (type) {
+ case BlinkGC::SweepingType::kConcurrentAndLazySweeping:
+ return "ConcurrentAndLazySweeping";
+ case BlinkGC::SweepingType::kEagerSweeping:
+ return "EagerSweeping";
+ }
+ IMMEDIATE_CRASH();
+}
+
+const char* BlinkGC::ToString(BlinkGC::StackState stack_state) {
+ switch (stack_state) {
+ case BlinkGC::kNoHeapPointersOnStack:
+ return "NoHeapPointersOnStack";
+ case BlinkGC::kHeapPointersOnStack:
+ return "HeapPointersOnStack";
+ }
+ IMMEDIATE_CRASH();
+}
+
+const char* BlinkGC::ToString(BlinkGC::ArenaIndices arena_index) {
+#define ArenaCase(name) \
+ case k##name##ArenaIndex: \
+ return "" #name "Arena";
+
+ switch (arena_index) {
+ FOR_EACH_ARENA(ArenaCase)
+
+ case BlinkGC::ArenaIndices::kNumberOfArenas:
+ IMMEDIATE_CRASH();
+ }
+ IMMEDIATE_CRASH();
+
+#undef ArenaCase
+}
+
+} // namespace blink