summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/v8/src/extensions/gc-extension.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/v8/src/extensions/gc-extension.cc')
-rw-r--r--src/3rdparty/v8/src/extensions/gc-extension.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/3rdparty/v8/src/extensions/gc-extension.cc b/src/3rdparty/v8/src/extensions/gc-extension.cc
index f921552..813b921 100644
--- a/src/3rdparty/v8/src/extensions/gc-extension.cc
+++ b/src/3rdparty/v8/src/extensions/gc-extension.cc
@@ -40,7 +40,11 @@ v8::Handle<v8::FunctionTemplate> GCExtension::GetNativeFunction(
v8::Handle<v8::Value> GCExtension::GC(const v8::Arguments& args) {
- HEAP->CollectAllGarbage(Heap::kNoGCFlags, "gc extension");
+ if (args[0]->BooleanValue()) {
+ HEAP->CollectGarbage(NEW_SPACE, "gc extension");
+ } else {
+ HEAP->CollectAllGarbage(Heap::kNoGCFlags, "gc extension");
+ }
return v8::Undefined();
}