#include "HeapStatistics.h"
#include "Heap.h"
+#include "HeapIterationScope.h"
#include "JSObject.h"
-#include "Operations.h"
+#include "JSCInlines.h"
#include "Options.h"
#include <stdlib.h>
#if OS(UNIX)
return;
JSObject* object = jsCast<JSObject*>(cell);
- if (hasIndexedProperties(object->structure()->indexingType()))
+ if (hasIndexedProperties(object->indexingType()))
return;
if (object->structure()->isUncacheableDictionary())
dataLogF("\n=== Heap Statistics: ===\n");
dataLogF("size: %ldkB\n", static_cast<long>(heap->m_sizeAfterLastCollect / KB));
dataLogF("capacity: %ldkB\n", static_cast<long>(heap->capacity() / KB));
- dataLogF("pause time: %lfms\n\n", heap->m_lastGCLength);
+ dataLogF("pause time: %lfms\n\n", heap->m_lastFullGCLength);
StorageStatistics storageStatistics;
- heap->m_objectSpace.forEachLiveCell(storageStatistics);
+ {
+ HeapIterationScope iterationScope(*heap);
+ heap->m_objectSpace.forEachLiveCell(iterationScope, storageStatistics);
+ }
dataLogF("wasted .property storage: %ldkB (%ld%%)\n",
static_cast<long>(
(storageStatistics.storageCapacity() - storageStatistics.storageSize()) / KB),