| Index: test/cctest/cctest.h
|
| diff --git a/test/cctest/cctest.h b/test/cctest/cctest.h
|
| index 854d89e157857380399048145783b05795bd8213..30cbe799f902b37460efbe9e35758d585a3977ee 100644
|
| --- a/test/cctest/cctest.h
|
| +++ b/test/cctest/cctest.h
|
| @@ -87,13 +87,16 @@ class CcTest {
|
| default_isolate_ = default_isolate;
|
| }
|
| static v8::Isolate* default_isolate() { return default_isolate_; }
|
| - static v8::Isolate* isolate() { return context_->GetIsolate(); }
|
| - static v8::Handle<v8::Context> env() { return context_; }
|
| + static v8::Isolate* isolate() { return context()->GetIsolate(); }
|
| + static v8::Handle<v8::Context> env() { return context(); }
|
|
|
| // Helper function to initialize the VM.
|
| static void InitializeVM(CcTestExtensionFlags extensions = NO_EXTENSIONS);
|
|
|
| private:
|
| + static v8::Handle<v8::Context> context() {
|
| + return *reinterpret_cast<v8::Handle<v8::Context>*>(&context_);
|
| + }
|
| TestFunction* callback_;
|
| const char* file_;
|
| const char* name_;
|
| @@ -195,7 +198,7 @@ class RegisterThreadedTest {
|
| const char* name_;
|
| };
|
|
|
| -
|
| +namespace v8 {
|
| // A LocalContext holds a reference to a v8::Context.
|
| class LocalContext {
|
| public:
|
| @@ -219,14 +222,15 @@ class LocalContext {
|
| bool IsReady() { return !context_.IsEmpty(); }
|
|
|
| v8::Local<v8::Context> local() {
|
| - return v8::Local<v8::Context>::New(context_);
|
| + return v8::Local<v8::Context>::New(isolate_, context_);
|
| }
|
|
|
| private:
|
| v8::Persistent<v8::Context> context_;
|
| v8::Isolate* isolate_;
|
| };
|
| -
|
| +}
|
| +typedef v8::LocalContext LocalContext;
|
|
|
| static inline v8::Local<v8::Value> v8_num(double x) {
|
| return v8::Number::New(x);
|
|
|