Reviewers: Jakob,

Message:
Here is a fix, thx!
--Michael

Description:
Function ElementsAreSafeToExamine was undefined in release heap verify.

Please review this at https://codereview.chromium.org/48963006/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+10, -7 lines):
  M src/objects-debug.cc
  M src/objects.h


Index: src/objects-debug.cc
diff --git a/src/objects-debug.cc b/src/objects-debug.cc
index fa3c375cb499c821c65a2614578d5113206a154b..6ab2ddffe2a9e0ea3772163e20e87bd269f1a7e0 100644
--- a/src/objects-debug.cc
+++ b/src/objects-debug.cc
@@ -306,6 +306,13 @@ void ExternalDoubleArray::ExternalDoubleArrayVerify() {
 }


+bool JSObject::ElementsAreSafeToExamine() {
+  return (FLAG_use_gvn && FLAG_use_allocation_folding) ||
+      reinterpret_cast<Map*>(elements()) !=
+      GetHeap()->one_pointer_filler_map();
+}
+
+
 void JSObject::JSObjectVerify() {
   VerifyHeapPointer(properties());
   VerifyHeapPointer(elements());
@@ -1139,13 +1146,6 @@ void JSObject::SpillInformation::Print() {
 }


-bool JSObject::ElementsAreSafeToExamine() {
-  return (FLAG_use_gvn && FLAG_use_allocation_folding) ||
-      reinterpret_cast<Map*>(elements()) !=
-      GetHeap()->one_pointer_filler_map();
-}
-
-
 bool DescriptorArray::IsSortedNoDuplicates(int valid_entries) {
   if (valid_entries == -1) valid_entries = number_of_descriptors();
   Name* current_key = NULL;
Index: src/objects.h
diff --git a/src/objects.h b/src/objects.h
index c0835e21eb9cb5d3df0d1f5ad1e464b6d4022323..e8c985048455e406c77c6b4c6814261f2cb7ab41 100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -2595,12 +2595,15 @@ class JSObject: public JSReceiver {
   };

   void IncrementSpillStatistics(SpillInformation* info);
+#endif

+#ifdef VERIFY_HEAP
// If a GC was caused while constructing this object, the elements pointer
   // may point to a one pointer filler map. The object won't be rooted, but
   // our heap verification code could stumble across it.
   bool ElementsAreSafeToExamine();
 #endif
+
   Object* SlowReverseLookup(Object* value);

   // Maximal number of fast properties for the JSObject. Used to


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to