Index: src/api.cc |
diff --git a/src/api.cc b/src/api.cc |
index d6336f2846be74c571a5b694d35529236c76af7c..7d3e860ddbe4be45bff28e936e14c8dbbbed7c96 100644 |
--- a/src/api.cc |
+++ b/src/api.cc |
@@ -812,9 +812,8 @@ EscapableHandleScope::EscapableHandleScope(Isolate* v8_isolate) { |
i::Object** EscapableHandleScope::Escape(i::Object** escape_value) { |
i::Heap* heap = reinterpret_cast<i::Isolate*>(GetIsolate())->heap(); |
- Utils::ApiCheck(*escape_slot_ == heap->the_hole_value(), |
- "EscapeableHandleScope::Escape", |
- "Escape value set twice"); |
+ Utils::ApiCheck((*escape_slot_)->IsTheHole(heap->isolate()), |
+ "EscapeableHandleScope::Escape", "Escape value set twice"); |
if (escape_value == NULL) { |
*escape_slot_ = heap->undefined_value(); |
return NULL; |
@@ -1075,7 +1074,7 @@ Local<ObjectTemplate> FunctionTemplate::PrototypeTemplate() { |
ENTER_V8(i_isolate); |
i::Handle<i::Object> result(Utils::OpenHandle(this)->prototype_template(), |
i_isolate); |
- if (result->IsUndefined()) { |
+ if (result->IsUndefined(i_isolate)) { |
// Do not cache prototype objects. |
result = Utils::OpenHandle( |
*ObjectTemplateNew(i_isolate, Local<FunctionTemplate>(), true)); |
@@ -1255,7 +1254,7 @@ Local<ObjectTemplate> FunctionTemplate::InstanceTemplate() { |
} |
i::Isolate* isolate = handle->GetIsolate(); |
ENTER_V8(isolate); |
- if (handle->instance_template()->IsUndefined()) { |
+ if (handle->instance_template()->IsUndefined(isolate)) { |
Local<ObjectTemplate> templ = |
ObjectTemplate::New(isolate, ToApiHandle<FunctionTemplate>(handle)); |
handle->set_instance_template(*Utils::OpenHandle(*templ)); |
@@ -1369,7 +1368,7 @@ static i::Handle<i::FunctionTemplateInfo> EnsureConstructor( |
i::Isolate* isolate, |
ObjectTemplate* object_template) { |
i::Object* obj = Utils::OpenHandle(object_template)->constructor(); |
- if (!obj ->IsUndefined()) { |
+ if (!obj->IsUndefined(isolate)) { |
i::FunctionTemplateInfo* info = i::FunctionTemplateInfo::cast(obj); |
return i::Handle<i::FunctionTemplateInfo>(info, isolate); |
} |
@@ -2258,7 +2257,7 @@ v8::TryCatch::~TryCatch() { |
bool v8::TryCatch::HasCaught() const { |
- return !reinterpret_cast<i::Object*>(exception_)->IsTheHole(); |
+ return !reinterpret_cast<i::Object*>(exception_)->IsTheHole(isolate_); |
} |
@@ -2317,8 +2316,8 @@ v8::Local<Value> v8::TryCatch::StackTrace() const { |
v8::Local<v8::Message> v8::TryCatch::Message() const { |
i::Object* message = reinterpret_cast<i::Object*>(message_obj_); |
- DCHECK(message->IsJSMessageObject() || message->IsTheHole()); |
- if (HasCaught() && !message->IsTheHole()) { |
+ DCHECK(message->IsJSMessageObject() || message->IsTheHole(isolate_)); |
+ if (HasCaught() && !message->IsTheHole(isolate_)) { |
return v8::Utils::MessageToLocal(i::Handle<i::Object>(message, isolate_)); |
} else { |
return v8::Local<v8::Message>(); |
@@ -2687,7 +2686,7 @@ Local<Value> NativeWeakMap::Get(Local<Value> v8_key) { |
return v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate)); |
} |
i::Handle<i::Object> lookup(table->Lookup(key), isolate); |
- if (lookup->IsTheHole()) |
+ if (lookup->IsTheHole(isolate)) |
return v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate)); |
return Utils::ToLocal(lookup); |
} |
@@ -2710,7 +2709,7 @@ bool NativeWeakMap::Has(Local<Value> v8_key) { |
return false; |
} |
i::Handle<i::Object> lookup(table->Lookup(key), isolate); |
- return !lookup->IsTheHole(); |
+ return !lookup->IsTheHole(isolate); |
} |
@@ -5568,7 +5567,7 @@ static i::Handle<i::Context> CreateEnvironment( |
// Migrate security handlers from global_template to |
// proxy_template. Temporarily removing access check |
// information from the global template. |
- if (!global_constructor->access_check_info()->IsUndefined()) { |
+ if (!global_constructor->access_check_info()->IsUndefined(isolate)) { |
proxy_constructor->set_access_check_info( |
global_constructor->access_check_info()); |
proxy_constructor->set_needs_access_check( |
@@ -6942,7 +6941,7 @@ static i::Handle<i::Symbol> SymbolFor(i::Isolate* isolate, |
i::Handle<i::Object> symbol = |
i::Object::GetPropertyOrElement(symbols, name).ToHandleChecked(); |
if (!symbol->IsSymbol()) { |
- DCHECK(symbol->IsUndefined()); |
+ DCHECK(symbol->IsUndefined(isolate)); |
if (private_symbol) |
symbol = isolate->factory()->NewPrivateSymbol(); |
else |
@@ -7762,7 +7761,7 @@ void Isolate::RemoveMessageListeners(MessageCallback that) { |
i::HandleScope scope(isolate); |
NeanderArray listeners(isolate->factory()->message_listeners()); |
for (int i = 0; i < listeners.length(); i++) { |
- if (listeners.get(i)->IsUndefined()) continue; // skip deleted ones |
+ if (listeners.get(i)->IsUndefined(isolate)) continue; // skip deleted ones |
NeanderObject listener(i::JSObject::cast(listeners.get(i))); |
i::Handle<i::Foreign> callback_obj(i::Foreign::cast(listener.get(0))); |