| Index: src/heap/mark-compact.cc
|
| diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc
|
| index 29cf00e9757922789a908ccf24080fd296db8636..e7ffc19fd950c89eaa516afc61938201886f67da 100644
|
| --- a/src/heap/mark-compact.cc
|
| +++ b/src/heap/mark-compact.cc
|
| @@ -721,7 +721,6 @@
|
|
|
| int count = 0;
|
| int fragmentation = 0;
|
| - int page_number = 0;
|
| Candidate* least = NULL;
|
|
|
| PageIterator it(space);
|
| @@ -736,16 +735,9 @@
|
| CHECK(p->slots_buffer() == NULL);
|
|
|
| if (FLAG_stress_compaction) {
|
| - if (FLAG_manual_evacuation_candidates_selection) {
|
| - if (p->IsFlagSet(MemoryChunk::FORCE_EVACUATION_CANDIDATE_FOR_TESTING)) {
|
| - p->ClearFlag(MemoryChunk::FORCE_EVACUATION_CANDIDATE_FOR_TESTING);
|
| - fragmentation = 1;
|
| - }
|
| - } else {
|
| - unsigned int counter = space->heap()->ms_count();
|
| - if ((counter & 1) == (page_number & 1)) fragmentation = 1;
|
| - page_number++;
|
| - }
|
| + unsigned int counter = space->heap()->ms_count();
|
| + uintptr_t page_number = reinterpret_cast<uintptr_t>(p) >> kPageSizeBits;
|
| + if ((counter & 1) == (page_number & 1)) fragmentation = 1;
|
| } else if (mode == REDUCE_MEMORY_FOOTPRINT) {
|
| // Don't try to release too many pages.
|
| if (estimated_release >= over_reserved) {
|
| @@ -4507,21 +4499,6 @@
|
| }
|
|
|
|
|
| -static Object* g_smi_slot = NULL;
|
| -
|
| -
|
| -void SlotsBuffer::RemoveSlot(SlotsBuffer* buffer, ObjectSlot slot_to_remove) {
|
| - DCHECK_EQ(Smi::FromInt(0), g_smi_slot);
|
| - DCHECK(!IsTypedSlot(slot_to_remove));
|
| - while (buffer != NULL) {
|
| - ObjectSlot* slots = buffer->slots_;
|
| - // Remove entries by replacing them with a dummy slot containing a smi.
|
| - std::replace(&slots[0], &slots[buffer->idx_], slot_to_remove, &g_smi_slot);
|
| - buffer = buffer->next_;
|
| - }
|
| -}
|
| -
|
| -
|
| static inline SlotsBuffer::SlotType SlotTypeForRMode(RelocInfo::Mode rmode) {
|
| if (RelocInfo::IsCodeTarget(rmode)) {
|
| return SlotsBuffer::CODE_TARGET_SLOT;
|
|
|