| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index 707ace30cac4b67a04843afa564361de485ff8f7..49d8a77cf6be4bbaf5d6fb13a8499632c0a374cc 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -9085,7 +9085,6 @@ Handle<DescriptorArray> DescriptorArray::CopyUpToAddAttributes(
|
|
|
| Handle<DescriptorArray> descriptors =
|
| DescriptorArray::Allocate(desc->GetIsolate(), size, slack);
|
| - DescriptorArray::WhitenessWitness witness(*descriptors);
|
|
|
| if (attributes != NONE) {
|
| for (int i = 0; i < size; ++i) {
|
| @@ -9104,11 +9103,11 @@ Handle<DescriptorArray> DescriptorArray::CopyUpToAddAttributes(
|
| }
|
| Descriptor inner_desc(
|
| handle(key), handle(value, desc->GetIsolate()), details);
|
| - descriptors->Set(i, &inner_desc, witness);
|
| + descriptors->SetDescriptor(i, &inner_desc);
|
| }
|
| } else {
|
| for (int i = 0; i < size; ++i) {
|
| - descriptors->CopyFrom(i, *desc, witness);
|
| + descriptors->CopyFrom(i, *desc);
|
| }
|
| }
|
|
|
| @@ -9867,21 +9866,16 @@ void DescriptorArray::SetEnumCache(Handle<DescriptorArray> descriptors,
|
| }
|
|
|
|
|
| -void DescriptorArray::CopyFrom(int index, DescriptorArray* src,
|
| - const WhitenessWitness& witness) {
|
| +void DescriptorArray::CopyFrom(int index, DescriptorArray* src) {
|
| Object* value = src->GetValue(index);
|
| PropertyDetails details = src->GetDetails(index);
|
| Descriptor desc(handle(src->GetKey(index)),
|
| handle(value, src->GetIsolate()),
|
| details);
|
| - Set(index, &desc, witness);
|
| + SetDescriptor(index, &desc);
|
| }
|
|
|
|
|
| -// We need the whiteness witness since sort will reshuffle the entries in the
|
| -// descriptor array. If the descriptor array were to be black, the shuffling
|
| -// would move a slot that was already recorded as pointing into an evacuation
|
| -// candidate. This would result in missing updates upon evacuation.
|
| void DescriptorArray::Sort() {
|
| // In-place heap sort.
|
| int len = number_of_descriptors();
|
|
|