Index: samples/process.cc |
diff --git a/samples/process.cc b/samples/process.cc |
index ae6a5500cd1bb506dde593725189a3b0269315fa..c3d17738bf14348e9b10f97eb9baa23e8d752cd5 100644 |
--- a/samples/process.cc |
+++ b/samples/process.cc |
@@ -116,11 +116,13 @@ class JsHttpRequestProcessor : public HttpRequestProcessor { |
// Utility methods for wrapping C++ objects as JavaScript objects, |
// and going back again. |
- static Handle<Object> WrapMap(map<string, string>* obj); |
+ Handle<Object> WrapMap(map<string, string>* obj); |
static map<string, string>* UnwrapMap(Handle<Object> obj); |
- static Handle<Object> WrapRequest(HttpRequest* obj); |
+ Handle<Object> WrapRequest(HttpRequest* obj); |
static HttpRequest* UnwrapRequest(Handle<Object> obj); |
+ Isolate* GetIsolate() { return context_->GetIsolate(); } |
+ |
Handle<String> script_; |
Persistent<Context> context_; |
Persistent<Function> process_; |
@@ -187,7 +189,7 @@ bool JsHttpRequestProcessor::Initialize(map<string, string>* opts, |
// Store the function in a Persistent handle, since we also want |
// that to remain after this call returns |
- process_ = Persistent<Function>::New(process_fun); |
+ process_ = Persistent<Function>::New(GetIsolate(), process_fun); |
// All done; all went well |
return true; |
@@ -273,8 +275,9 @@ JsHttpRequestProcessor::~JsHttpRequestProcessor() { |
// Dispose the persistent handles. When noone else has any |
// references to the objects stored in the handles they will be |
// automatically reclaimed. |
- context_.Dispose(); |
- process_.Dispose(); |
+ v8::Isolate* isolate = GetIsolate(); |
+ context_.Dispose(isolate); |
+ process_.Dispose(isolate); |
} |
@@ -296,7 +299,7 @@ Handle<Object> JsHttpRequestProcessor::WrapMap(map<string, string>* obj) { |
// It only has to be created once, which we do on demand. |
if (map_template_.IsEmpty()) { |
Handle<ObjectTemplate> raw_template = MakeMapTemplate(); |
- map_template_ = Persistent<ObjectTemplate>::New(raw_template); |
+ map_template_ = Persistent<ObjectTemplate>::New(GetIsolate(), raw_template); |
} |
Handle<ObjectTemplate> templ = map_template_; |
@@ -401,7 +404,8 @@ Handle<Object> JsHttpRequestProcessor::WrapRequest(HttpRequest* request) { |
// It only has to be created once, which we do on demand. |
if (request_template_.IsEmpty()) { |
Handle<ObjectTemplate> raw_template = MakeRequestTemplate(); |
- request_template_ = Persistent<ObjectTemplate>::New(raw_template); |
+ request_template_ = |
+ Persistent<ObjectTemplate>::New(GetIsolate(), raw_template); |
} |
Handle<ObjectTemplate> templ = request_template_; |