Index: src/api.cc |
diff --git a/src/api.cc b/src/api.cc |
index db2045f8da97ce9727381743ff5133743d490f43..66062a21aac479eaba617a77189e894949ebe38d 100644 |
--- a/src/api.cc |
+++ b/src/api.cc |
@@ -6452,6 +6452,19 @@ void Isolate::ClearInterrupt() { |
} |
+void Isolate::RequestGarbageCollectionForTesting(GarbageCollectionType type) { |
+ CHECK(i::FLAG_expose_gc); |
+ if (type == kMinorGarbageCollection) { |
+ reinterpret_cast<i::Isolate*>(this)->heap()->CollectGarbage( |
+ i::NEW_SPACE, "Isolate::RequestGarbageCollection"); |
+ } else { |
+ ASSERT_EQ(kFullGarbageCollection, type); |
+ reinterpret_cast<i::Isolate*>(this)->heap()->CollectAllGarbage( |
+ i::Heap::kNoGCFlags, "Isolate::RequestGarbageCollection"); |
+ } |
+} |
+ |
+ |
Isolate* Isolate::GetCurrent() { |
i::Isolate* isolate = i::Isolate::UncheckedCurrent(); |
return reinterpret_cast<Isolate*>(isolate); |