Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 544443866efc52a82fdb20f9b84db8540c1334fb..08c7078a134e3edaae7ea5e10642edac8b58bdc3 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -1929,6 +1929,12 @@ String* DescriptorArray::GetKey(int descriptor_number) { |
} |
+Object** DescriptorArray::GetValueSlot(int descriptor_number) { |
+ ASSERT(descriptor_number < number_of_descriptors()); |
+ return GetContentArray()->data_start() + ToValueIndex(descriptor_number); |
+} |
+ |
+ |
Object* DescriptorArray::GetValue(int descriptor_number) { |
ASSERT(descriptor_number < number_of_descriptors()); |
return GetContentArray()->get(ToValueIndex(descriptor_number)); |
@@ -1942,6 +1948,25 @@ PropertyDetails DescriptorArray::GetDetails(int descriptor_number) { |
} |
+FixedArray* DescriptorArray::RawGetContentArray() { |
+ Object* array = this->get(DescriptorArray::kContentArrayIndex); |
+ return static_cast<FixedArray*>(array); |
+} |
+ |
+ |
+Object* DescriptorArray::RawGetValue(int descriptor_number) { |
+ ASSERT(descriptor_number < number_of_descriptors()); |
+ return RawGetContentArray()->get(ToValueIndex(descriptor_number)); |
+} |
+ |
+ |
+PropertyDetails DescriptorArray::RawGetDetails(int descriptor_number) { |
+ ASSERT(descriptor_number < number_of_descriptors()); |
+ Object* details = RawGetContentArray()->get(ToDetailsIndex(descriptor_number)); |
+ return PropertyDetails(Smi::cast(details)); |
+} |
+ |
+ |
PropertyType DescriptorArray::GetType(int descriptor_number) { |
return GetDetails(descriptor_number).type(); |
} |