Index: src/api.cc |
=================================================================== |
--- src/api.cc (revision 10404) |
+++ src/api.cc (working copy) |
@@ -1,4 +1,4 @@ |
-// Copyright 2011 the V8 project authors. All rights reserved. |
+// Copyright 2012 the V8 project authors. All rights reserved. |
// Redistribution and use in source and binary forms, with or without |
// modification, are permitted provided that the following conditions are |
// met: |
@@ -2165,6 +2165,11 @@ |
if (obj->IsSmi()) return true; |
if (obj->IsNumber()) { |
double value = obj->Number(); |
+ static const i::DoubleRepresentation minus_zero(-0.0); |
+ i::DoubleRepresentation rep(value); |
+ if (rep.bits == minus_zero.bits) { |
+ return false; |
+ } |
return i::FastI2D(i::FastD2I(value)) == value; |
} |
return false; |
@@ -2177,6 +2182,11 @@ |
if (obj->IsSmi()) return i::Smi::cast(*obj)->value() >= 0; |
if (obj->IsNumber()) { |
double value = obj->Number(); |
+ static const i::DoubleRepresentation minus_zero(-0.0); |
+ i::DoubleRepresentation rep(value); |
+ if (rep.bits == minus_zero.bits) { |
+ return false; |
+ } |
return i::FastUI2D(i::FastD2UI(value)) == value; |
} |
return false; |
@@ -2739,7 +2749,7 @@ |
i::Handle<i::JSObject> self = Utils::OpenHandle(this); |
i::Handle<i::Object> value_obj = Utils::OpenHandle(*value); |
EXCEPTION_PREAMBLE(isolate); |
- i::Handle<i::Object> obj = i::SetElement( |
+ i::Handle<i::Object> obj = i::JSObject::SetElement( |
self, |
index, |
value_obj, |
@@ -2845,7 +2855,7 @@ |
return Local<v8::Value>()); |
ENTER_V8(isolate); |
i::Handle<i::Object> self = Utils::OpenHandle(this); |
- i::Handle<i::Object> result = i::GetPrototype(self); |
+ i::Handle<i::Object> result(self->GetPrototype()); |
return Utils::ToLocal(result); |
} |
@@ -2999,7 +3009,7 @@ |
i::HandleScope scope(isolate); |
i::Handle<i::JSObject> self = Utils::OpenHandle(this); |
i::Handle<i::String> key_obj = Utils::OpenHandle(*key); |
- return i::DeleteProperty(self, key_obj)->IsTrue(); |
+ return i::JSObject::DeleteProperty(self, key_obj)->IsTrue(); |
} |
@@ -3020,7 +3030,7 @@ |
ENTER_V8(isolate); |
HandleScope scope; |
i::Handle<i::JSObject> self = Utils::OpenHandle(this); |
- return i::DeleteElement(self, index)->IsTrue(); |
+ return i::JSObject::DeleteElement(self, index)->IsTrue(); |
} |
@@ -3225,7 +3235,7 @@ |
ENTER_V8(isolate); |
i::HandleScope scope(isolate); |
i::Handle<i::JSObject> self = Utils::OpenHandle(this); |
- return i::GetIdentityHash(self); |
+ return i::JSObject::GetIdentityHash(self); |
} |
@@ -3238,7 +3248,8 @@ |
i::Handle<i::JSObject> self = Utils::OpenHandle(this); |
i::Handle<i::String> key_obj = Utils::OpenHandle(*key); |
i::Handle<i::Object> value_obj = Utils::OpenHandle(*value); |
- i::Handle<i::Object> result = i::SetHiddenProperty(self, key_obj, value_obj); |
+ i::Handle<i::Object> result = |
+ i::JSObject::SetHiddenProperty(self, key_obj, value_obj); |
return *result == *self; |
} |
@@ -4038,6 +4049,13 @@ |
} |
+void v8::V8::VisitExternalResources(ExternalResourceVisitor* visitor) { |
+ i::Isolate* isolate = i::Isolate::Current(); |
+ IsDeadCheck(isolate, "v8::V8::VisitExternalResources"); |
+ isolate->heap()->VisitExternalResources(visitor); |
+} |
+ |
+ |
bool v8::V8::IdleNotification(int hint) { |
// Returning true tells the caller that it need not |
// continue to call IdleNotification. |
@@ -5542,7 +5560,7 @@ |
void Debug::ProcessDebugMessages() { |
- i::Execution::ProcessDebugMesssages(true); |
+ i::Execution::ProcessDebugMessages(true); |
} |
Local<Context> Debug::GetDebugContext() { |