Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index ffc22703203d3aacae36d7e2c16efb95c6ccd321..519e0244b7a31c7926a2ddab5afdd429f96edeeb 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() || |
@@ -2696,14 +2697,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)); |
@@ -2716,6 +2709,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)); |
@@ -2734,6 +2732,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); |
} |