| Index: src/handles.cc
 | 
| diff --git a/src/handles.cc b/src/handles.cc
 | 
| index d4153159861bd21cf00b01f64d6f1bc23a087422..ca23a6f75f711d5fd00f142b0f53860b5fee0428 100644
 | 
| --- a/src/handles.cc
 | 
| +++ b/src/handles.cc
 | 
| @@ -9,6 +9,34 @@
 | 
|  namespace v8 {
 | 
|  namespace internal {
 | 
|  
 | 
| +#ifdef DEBUG
 | 
| +bool HandleBase::IsDereferenceAllowed(DereferenceCheckMode mode) const {
 | 
| +  DCHECK_NOT_NULL(location_);
 | 
| +  Object* object = *location_;
 | 
| +  if (object->IsSmi()) return true;
 | 
| +  HeapObject* heap_object = HeapObject::cast(object);
 | 
| +  Heap* heap = heap_object->GetHeap();
 | 
| +  Object** roots_array_start = heap->roots_array_start();
 | 
| +  if (roots_array_start <= location_ &&
 | 
| +      location_ < roots_array_start + Heap::kStrongRootListLength &&
 | 
| +      heap->RootCanBeTreatedAsConstant(
 | 
| +          static_cast<Heap::RootListIndex>(location_ - roots_array_start))) {
 | 
| +    return true;
 | 
| +  }
 | 
| +  if (!AllowHandleDereference::IsAllowed()) return false;
 | 
| +  if (mode == INCLUDE_DEFERRED_CHECK &&
 | 
| +      !AllowDeferredHandleDereference::IsAllowed()) {
 | 
| +    // Accessing cells, maps and internalized strings is safe.
 | 
| +    if (heap_object->IsCell()) return true;
 | 
| +    if (heap_object->IsMap()) return true;
 | 
| +    if (heap_object->IsInternalizedString()) return true;
 | 
| +    return !heap->isolate()->IsDeferredHandle(location_);
 | 
| +  }
 | 
| +  return true;
 | 
| +}
 | 
| +#endif
 | 
| +
 | 
| +
 | 
|  int HandleScope::NumberOfHandles(Isolate* isolate) {
 | 
|    HandleScopeImplementer* impl = isolate->handle_scope_implementer();
 | 
|    int n = impl->blocks()->length();
 | 
| @@ -67,7 +95,7 @@ void HandleScope::DeleteExtensions(Isolate* isolate) {
 | 
|  void HandleScope::ZapRange(Object** start, Object** end) {
 | 
|    DCHECK(end - start <= kHandleBlockSize);
 | 
|    for (Object** p = start; p != end; p++) {
 | 
| -    *reinterpret_cast<Address*>(p) = v8::internal::kHandleZapValue;
 | 
| +    *reinterpret_cast<Address*>(p) = kHandleZapValue;
 | 
|    }
 | 
|  }
 | 
|  #endif
 | 
| 
 |