#include "src/extensions/gc-extension.h"
#include "include/v8-exception.h"
#include "include/v8-isolate.h"
#include "include/v8-maybe.h"
#include "include/v8-microtask-queue.h"
#include "include/v8-object.h"
#include "include/v8-persistent-handle.h"
#include "include/v8-platform.h"
#include "include/v8-primitive.h"
#include "include/v8-profiler.h"
#include "include/v8-template.h"
#include "src/api/api.h"
#include "src/execution/isolate.h"
#include "src/heap/heap.h"
#include "src/profiler/heap-profiler.h"
#include "src/tasks/cancelable-task.h"
namespace v8::internal {
namespace {
enum class GCType { … };
enum class ExecutionType { … };
enum class Flavor { … };
struct GCOptions { … };
MaybeLocal<v8::String> ReadProperty(v8::Isolate* isolate,
v8::Local<v8::Context> ctx,
v8::Local<v8::Object> object,
const char* key) { … }
void ParseType(v8::Isolate* isolate, MaybeLocal<v8::String> maybe_type,
GCOptions* options, bool* found_options_object) { … }
void ParseExecution(v8::Isolate* isolate,
MaybeLocal<v8::String> maybe_execution, GCOptions* options,
bool* found_options_object) { … }
void ParseFlavor(v8::Isolate* isolate, MaybeLocal<v8::String> maybe_execution,
GCOptions* options, bool* found_options_object) { … }
Maybe<GCOptions> Parse(v8::Isolate* isolate,
const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void InvokeGC(v8::Isolate* isolate, const GCOptions gc_options) { … }
class AsyncGC final : public CancelableTask { … };
}
v8::Local<v8::FunctionTemplate> GCExtension::GetNativeFunctionTemplate(
v8::Isolate* isolate, v8::Local<v8::String> str) { … }
void GCExtension::GC(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
}