Version 3.25.6 (based on bleeding_edge revision r19746)

Replace the recursion in PropagateMinusZeroChecks() with a loop and a worklist (issue 3204).

Reland "Enable Object.observe by default" (issue 2409).

Enable Object.observe by default (issue 2409).

AllocationTracker now maintains a map from address range to stack trace that allocated the range. When snapshot is generated the map is used to find construction stack trace for an object using its address (Chromium issue 277984).

Introduce Runtime_GetAllScopesDetails to get all scopes at once for a frame (Chromium issue 340285).

Reduce heavy runtime calls from debug mirrors (Chromium issue 340285).

Check and clear date cache in DateCurrentTime, DateLocalTimezone and getTimezoneOffset (Chromium issue 142141).

Performance and stability improvements on all platforms.

git-svn-id: http://v8.googlecode.com/svn/trunk@19747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/unique.h b/src/unique.h
index a2f29e4..2f6008c 100644
--- a/src/unique.h
+++ b/src/unique.h
@@ -142,8 +142,12 @@
   friend class Unique;  // For comparing raw_address values.
 
  private:
+  Unique<T>() : raw_address_(NULL) { }
+
   Address raw_address_;
   Handle<T> handle_;
+
+  friend class SideEffectsTracker;
 };