Fix for the compilation issue in shared mode introduced by r26624
authorishell@chromium.org <ishell@chromium.org>
Thu, 12 Feb 2015 17:26:57 +0000 (18:26 +0100)
committerishell@chromium.org <ishell@chromium.org>
Thu, 12 Feb 2015 17:27:22 +0000 (17:27 +0000)
TBR=verwaest@chromium.org

Review URL: https://codereview.chromium.org/919043002

Cr-Commit-Position: refs/heads/master@{#26627}

src/layout-descriptor.cc
src/layout-descriptor.h
src/objects-debug.cc

index 70380ce..b901647 100644 (file)
@@ -256,5 +256,28 @@ bool LayoutDescriptorHelper::IsTagged(
   DCHECK(offset_in_bytes < *out_end_of_contiguous_region_offset);
   return tagged;
 }
+
+
+#ifdef VERIFY_HEAP
+bool LayoutDescriptor::IsConsistentWithMap(Map* map) {
+  if (FLAG_unbox_double_fields) {
+    DescriptorArray* descriptors = map->instance_descriptors();
+    int nof_descriptors = map->NumberOfOwnDescriptors();
+    for (int i = 0; i < nof_descriptors; i++) {
+      PropertyDetails details = descriptors->GetDetails(i);
+      if (details.type() != DATA) continue;
+      FieldIndex field_index = FieldIndex::ForDescriptor(map, i);
+      bool tagged_expected =
+          !field_index.is_inobject() || !details.representation().IsDouble();
+      for (int bit = 0; bit < details.field_width_in_words(); bit++) {
+        bool tagged_actual = IsTagged(details.field_index() + bit);
+        DCHECK_EQ(tagged_expected, tagged_actual);
+        if (tagged_actual != tagged_expected) return false;
+      }
+    }
+  }
+  return true;
+}
+#endif
 }
 }  // namespace v8::internal
index a8c9ec5..628fa17 100644 (file)
@@ -69,7 +69,7 @@ class LayoutDescriptor : public FixedTypedArray<Uint32ArrayTraits> {
   // tagged (FastPointerLayout).
   V8_INLINE static LayoutDescriptor* FastPointerLayout();
 
-#ifdef DEBUG
+#ifdef VERIFY_HEAP
   // Check that this layout descriptor corresponds to given map.
   bool IsConsistentWithMap(Map* map);
 #endif
index f7bdeed..78a07c7 100644 (file)
@@ -1172,27 +1172,6 @@ bool DescriptorArray::IsSortedNoDuplicates(int valid_entries) {
 }
 
 
-bool LayoutDescriptor::IsConsistentWithMap(Map* map) {
-  if (FLAG_unbox_double_fields) {
-    DescriptorArray* descriptors = map->instance_descriptors();
-    int nof_descriptors = map->NumberOfOwnDescriptors();
-    for (int i = 0; i < nof_descriptors; i++) {
-      PropertyDetails details = descriptors->GetDetails(i);
-      if (details.type() != DATA) continue;
-      FieldIndex field_index = FieldIndex::ForDescriptor(map, i);
-      bool tagged_expected =
-          !field_index.is_inobject() || !details.representation().IsDouble();
-      for (int bit = 0; bit < details.field_width_in_words(); bit++) {
-        bool tagged_actual = IsTagged(details.field_index() + bit);
-        DCHECK_EQ(tagged_expected, tagged_actual);
-        if (tagged_actual != tagged_expected) return false;
-      }
-    }
-  }
-  return true;
-}
-
-
 bool TransitionArray::IsSortedNoDuplicates(int valid_entries) {
   DCHECK(valid_entries == -1);
   Name* prev_key = NULL;