1 // Copyright 2010 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "src/extensions/gc-extension.h" 6 7 #include "src/base/platform/platform.h" 8 9 namespace v8 { 10 namespace internal { 11 12 13 v8::Local<v8::FunctionTemplate> GCExtension::GetNativeFunctionTemplate( 14 v8::Isolate* isolate, v8::Local<v8::String> str) { 15 return v8::FunctionTemplate::New(isolate, GCExtension::GC); 16 } 17 18 19 void GCExtension::GC(const v8::FunctionCallbackInfo<v8::Value>& args) { 20 args.GetIsolate()->RequestGarbageCollectionForTesting( 21 args[0] 22 ->BooleanValue(args.GetIsolate()->GetCurrentContext()) 23 .FromMaybe(false) 24 ? v8::Isolate::kMinorGarbageCollection 25 : v8::Isolate::kFullGarbageCollection); 26 } 27 28 } // namespace internal 29 } // namespace v8 30