| 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() {
 | 
| 
 |