Version 3.17.2

Removed bogus check for TOP register in deoptimizer. (Chromium issue 176943)

Made the Isolate parameter mandatory for internal HandleScopes. (issue 2487)

Fixed f.apply() optimization when declared arguments are mutated. (issue 2539)

Performance and stability improvements on all platforms.

git-svn-id: http://v8.googlecode.com/svn/trunk@13692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/global-handles.cc b/src/global-handles.cc
index 51e904e..299449a 100644
--- a/src/global-handles.cc
+++ b/src/global-handles.cc
@@ -76,7 +76,7 @@
   ~Node() {
     // TODO(1428): if it's a weak handle we should have invoked its callback.
     // Zap the values for eager trapping.
-    object_ = NULL;
+    object_ = reinterpret_cast<Object*>(kGlobalHandleZapValue);
     class_id_ = v8::HeapProfiler::kPersistentHandleNoClassId;
     index_ = 0;
     set_independent(false);
@@ -113,6 +113,16 @@
   void Release(GlobalHandles* global_handles) {
     ASSERT(state() != FREE);
     set_state(FREE);
+    // TODO(176056): Enable as soon as WebKit bindings are fixed.
+#ifdef DEBUG_TODO
+    // Zap the values for eager trapping.
+    object_ = reinterpret_cast<Object*>(kGlobalHandleZapValue);
+    class_id_ = v8::HeapProfiler::kPersistentHandleNoClassId;
+    set_independent(false);
+    set_partially_dependent(false);
+    weak_reference_callback_ = NULL;
+    near_death_callback_ = NULL;
+#endif
     parameter_or_next_free_.next_free = global_handles->first_free_;
     global_handles->first_free_ = this;
     DecreaseBlockUses(global_handles);