| Index: src/api.cc
|
| diff --git a/src/api.cc b/src/api.cc
|
| index 7966e2c57c95d0a987db6c15f302e3417ae22895..214b7c2d6cf8a511931e95ba1124118abf49d872 100644
|
| --- a/src/api.cc
|
| +++ b/src/api.cc
|
| @@ -40,6 +40,9 @@
|
| #include "counters.h"
|
| #include "cpu-profiler.h"
|
| #include "debug.h"
|
| +#ifdef V8_USE_DEFAULT_PLATFORM
|
| +#include "default-platform.h"
|
| +#endif
|
| #include "deoptimizer.h"
|
| #include "execution.h"
|
| #include "global-handles.h"
|
| @@ -5047,11 +5050,32 @@ static void* ExternalValue(i::Object* obj) {
|
| // --- E n v i r o n m e n t ---
|
|
|
|
|
| +void v8::V8::InitializePlatform(Platform* platform) {
|
| +#ifdef V8_USE_DEFAULT_PLATFORM
|
| + FATAL("Can't override v8::Platform when using default implementation");
|
| +#else
|
| + i::V8::InitializePlatform(platform);
|
| +#endif
|
| +}
|
| +
|
| +
|
| +void v8::V8::ShutdownPlatform() {
|
| +#ifdef V8_USE_DEFAULT_PLATFORM
|
| + FATAL("Can't override v8::Platform when using default implementation");
|
| +#else
|
| + i::V8::ShutdownPlatform();
|
| +#endif
|
| +}
|
| +
|
| +
|
| bool v8::V8::Initialize() {
|
| i::Isolate* isolate = i::Isolate::UncheckedCurrent();
|
| if (isolate != NULL && isolate->IsInitialized()) {
|
| return true;
|
| }
|
| +#ifdef V8_USE_DEFAULT_PLATFORM
|
| + i::V8::InitializePlatform(new i::DefaultPlatform);
|
| +#endif
|
| return InitializeHelper(isolate);
|
| }
|
|
|
| @@ -5116,6 +5140,12 @@ bool v8::V8::Dispose() {
|
| return false;
|
| }
|
| i::V8::TearDown();
|
| +#ifdef V8_USE_DEFAULT_PLATFORM
|
| + i::DefaultPlatform* platform =
|
| + static_cast<i::DefaultPlatform*>(i::V8::GetCurrentPlatform());
|
| + i::V8::ShutdownPlatform();
|
| + delete platform;
|
| +#endif
|
| return true;
|
| }
|
|
|
|
|