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 
GetNativeFunctionTemplate(v8::Isolate * isolate,v8::Handle<v8::String> str)13 v8::Handle<v8::FunctionTemplate> GCExtension::GetNativeFunctionTemplate(
14     v8::Isolate* isolate,
15     v8::Handle<v8::String> str) {
16   return v8::FunctionTemplate::New(isolate, GCExtension::GC);
17 }
18 
19 
GC(const v8::FunctionCallbackInfo<v8::Value> & args)20 void GCExtension::GC(const v8::FunctionCallbackInfo<v8::Value>& args) {
21   args.GetIsolate()->RequestGarbageCollectionForTesting(
22       args[0]->BooleanValue() ? v8::Isolate::kMinorGarbageCollection
23                               : v8::Isolate::kFullGarbageCollection);
24 }
25 
26 } }  // namespace v8::internal
27