Revert "Revert "Upgrade to 5.0.71.48"" DO NOT MERGE
This reverts commit f2e3994fa5148cc3d9946666f0b0596290192b0e,
and updates the x64 makefile properly so it doesn't break that
build.
FPIIM-449
Change-Id: Ib83e35bfbae6af627451c926a9650ec57c045605
(cherry picked from commit 109988c7ccb6f3fd1a58574fa3dfb88beaef6632)
diff --git a/src/objects-debug.cc b/src/objects-debug.cc
index b6dd425..0d01ec2 100644
--- a/src/objects-debug.cc
+++ b/src/objects-debug.cc
@@ -7,6 +7,7 @@
#include "src/bootstrapper.h"
#include "src/disasm.h"
#include "src/disassembler.h"
+#include "src/field-type.h"
#include "src/macro-assembler.h"
#include "src/ostreams.h"
#include "src/regexp/jsregexp.h"
@@ -150,9 +151,6 @@
case JS_MAP_ITERATOR_TYPE:
JSMapIterator::cast(this)->JSMapIteratorVerify();
break;
- case JS_ITERATOR_RESULT_TYPE:
- JSIteratorResult::cast(this)->JSIteratorResultVerify();
- break;
case JS_WEAK_MAP_TYPE:
JSWeakMap::cast(this)->JSWeakMapVerify();
break;
@@ -210,7 +208,7 @@
void Symbol::SymbolVerify() {
CHECK(IsSymbol());
CHECK(HasHashCode());
- CHECK_GT(Hash(), 0u);
+ CHECK(GetHeap()->hidden_properties_symbol() == this || Hash() > 0u);
CHECK(name()->IsUndefined() || name()->IsString());
}
@@ -298,9 +296,9 @@
if (value->IsUninitialized()) continue;
if (r.IsSmi()) DCHECK(value->IsSmi());
if (r.IsHeapObject()) DCHECK(value->IsHeapObject());
- HeapType* field_type = descriptors->GetFieldType(i);
- bool type_is_none = field_type->Is(HeapType::None());
- bool type_is_any = HeapType::Any()->Is(field_type);
+ FieldType* field_type = descriptors->GetFieldType(i);
+ bool type_is_none = field_type->IsNone();
+ bool type_is_any = field_type->IsAny();
if (r.IsNone()) {
CHECK(type_is_none);
} else if (!type_is_any && !(type_is_none && r.IsHeapObject())) {
@@ -318,7 +316,8 @@
// pointer may point to a one pointer filler map.
if (ElementsAreSafeToExamine()) {
CHECK_EQ((map()->has_fast_smi_or_object_elements() ||
- (elements() == GetHeap()->empty_fixed_array())),
+ (elements() == GetHeap()->empty_fixed_array()) ||
+ HasFastStringWrapperElements()),
(elements()->map() == GetHeap()->fixed_array_map() ||
elements()->map() == GetHeap()->fixed_cow_array_map()));
CHECK(map()->has_fast_object_elements() == HasFastObjectElements());
@@ -553,9 +552,7 @@
VerifyObjectField(kBoundThisOffset);
VerifyObjectField(kBoundTargetFunctionOffset);
VerifyObjectField(kBoundArgumentsOffset);
- VerifyObjectField(kCreationContextOffset);
CHECK(bound_target_function()->IsCallable());
- CHECK(creation_context()->IsNativeContext());
CHECK(IsCallable());
CHECK_EQ(IsConstructor(), bound_target_function()->IsConstructor());
}
@@ -765,14 +762,6 @@
}
-void JSIteratorResult::JSIteratorResultVerify() {
- CHECK(IsJSIteratorResult());
- JSObjectVerify();
- VerifyPointer(done());
- VerifyPointer(value());
-}
-
-
void JSWeakMap::JSWeakMapVerify() {
CHECK(IsJSWeakMap());
JSObjectVerify();
@@ -911,12 +900,6 @@
}
-void AccessorInfo::AccessorInfoVerify() {
- VerifyPointer(name());
- VerifyPointer(expected_receiver_type());
-}
-
-
void SloppyBlockWithEvalContextExtension::
SloppyBlockWithEvalContextExtensionVerify() {
CHECK(IsSloppyBlockWithEvalContextExtension());
@@ -925,9 +908,10 @@
}
-void ExecutableAccessorInfo::ExecutableAccessorInfoVerify() {
- CHECK(IsExecutableAccessorInfo());
- AccessorInfoVerify();
+void AccessorInfo::AccessorInfoVerify() {
+ CHECK(IsAccessorInfo());
+ VerifyPointer(name());
+ VerifyPointer(expected_receiver_type());
VerifyPointer(getter());
VerifyPointer(setter());
VerifyPointer(data());
@@ -1038,7 +1022,7 @@
void DebugInfo::DebugInfoVerify() {
CHECK(IsDebugInfo());
VerifyPointer(shared());
- VerifyPointer(code());
+ VerifyPointer(abstract_code());
VerifyPointer(break_points());
}
@@ -1076,7 +1060,8 @@
case FAST_HOLEY_DOUBLE_ELEMENTS:
case FAST_DOUBLE_ELEMENTS:
case FAST_HOLEY_ELEMENTS:
- case FAST_ELEMENTS: {
+ case FAST_ELEMENTS:
+ case FAST_STRING_WRAPPER_ELEMENTS: {
info->number_of_objects_with_fast_elements_++;
int holes = 0;
FixedArray* e = FixedArray::cast(elements());
@@ -1100,7 +1085,8 @@
info->number_of_fast_used_elements_ += e->length();
break;
}
- case DICTIONARY_ELEMENTS: {
+ case DICTIONARY_ELEMENTS:
+ case SLOW_STRING_WRAPPER_ELEMENTS: {
SeededNumberDictionary* dict = element_dictionary();
info->number_of_slow_used_elements_ += dict->NumberOfElements();
info->number_of_slow_unused_elements_ +=
@@ -1109,6 +1095,7 @@
}
case FAST_SLOPPY_ARGUMENTS_ELEMENTS:
case SLOW_SLOPPY_ARGUMENTS_ELEMENTS:
+ case NO_ELEMENTS:
break;
}
}