Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index ed66dc6423c8764ffb9c0778f8bb2192a9da259e..2c89a148f1bdf5ec5136e644a9e0b1232801a3ed 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -286,6 +286,7 @@ bool Object::IsExternalTwoByteString() { |
String::cast(this)->IsTwoByteRepresentation(); |
} |
+ |
bool Object::HasValidElements() { |
// Dictionary is covered under FixedArray. |
return IsFixedArray() || IsFixedDoubleArray() || IsExternalArray() || |
@@ -2723,14 +2724,6 @@ void DescriptorArray::SetRepresentation(int descriptor_index, |
} |
-void DescriptorArray::InitializeRepresentations(Representation representation) { |
- int length = number_of_descriptors(); |
- for (int i = 0; i < length; i++) { |
- SetRepresentation(i, representation); |
- } |
-} |
- |
- |
Object** DescriptorArray::GetValueSlot(int descriptor_number) { |
ASSERT(descriptor_number < number_of_descriptors()); |
return RawFieldOfElementAt(ToValueIndex(descriptor_number)); |
@@ -2743,6 +2736,11 @@ Object* DescriptorArray::GetValue(int descriptor_number) { |
} |
+void DescriptorArray::SetValue(int descriptor_index, Object* value) { |
+ set(ToValueIndex(descriptor_index), value); |
+} |
+ |
+ |
PropertyDetails DescriptorArray::GetDetails(int descriptor_number) { |
ASSERT(descriptor_number < number_of_descriptors()); |
Object* details = get(ToDetailsIndex(descriptor_number)); |
@@ -2761,6 +2759,12 @@ int DescriptorArray::GetFieldIndex(int descriptor_number) { |
} |
+HeapType* DescriptorArray::GetFieldType(int descriptor_number) { |
+ ASSERT(GetDetails(descriptor_number).type() == FIELD); |
+ return HeapType::cast(GetValue(descriptor_number)); |
+} |
+ |
+ |
Object* DescriptorArray::GetConstant(int descriptor_number) { |
return GetValue(descriptor_number); |
} |