uv_work_t req;
int input;
int output;
+ v8::Isolate* isolate;
v8::Persistent<v8::Function> callback;
};
}
void AfterAsync(uv_work_t* r) {
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
- v8::HandleScope scope(isolate);
async_req* req = reinterpret_cast<async_req*>(r->data);
+ v8::Isolate* isolate = req->isolate;
+ v8::HandleScope scope(isolate);
v8::Handle<v8::Value> argv[2] = {
v8::Null(isolate),
}
void Method(const v8::FunctionCallbackInfo<v8::Value>& args) {
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
+ v8::Isolate* isolate = args.GetIsolate();
v8::HandleScope scope(isolate);
async_req* req = new async_req;
req->input = args[0]->IntegerValue();
req->output = 0;
+ req->isolate = isolate;
v8::Local<v8::Function> callback = v8::Local<v8::Function>::Cast(args[1]);
req->callback.Reset(isolate, callback);
static int at_exit_cb2_called = 0;
static void at_exit_cb1(void* arg) {
- // FIXME(bnoordhuis) Isolate::GetCurrent() is on its way out.
- Isolate* isolate = Isolate::GetCurrent();
+ Isolate* isolate = static_cast<Isolate*>(arg);
HandleScope handle_scope(isolate);
- assert(arg == 0);
Local<Object> obj = Object::New(isolate);
assert(!obj.IsEmpty()); // Assert VM is still alive.
assert(obj->IsObject());
}
void init(Handle<Object> target) {
- AtExit(at_exit_cb1);
+ AtExit(at_exit_cb1, target->CreationContext()->GetIsolate());
AtExit(at_exit_cb2, cookie);
AtExit(at_exit_cb2, cookie);
atexit(sanity_check);
#include <v8.h>
void Method(const v8::FunctionCallbackInfo<v8::Value>& args) {
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
+ v8::Isolate* isolate = args.GetIsolate();
v8::HandleScope scope(isolate);
args.GetReturnValue().Set(v8::String::NewFromUtf8(isolate, "world"));
}
#include <v8.h>
void Method(const v8::FunctionCallbackInfo<v8::Value>& args) {
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
+ v8::Isolate* isolate = args.GetIsolate();
v8::HandleScope scope(isolate);
args.GetReturnValue().Set(v8::String::NewFromUtf8(isolate, "world"));
}