Reviewed by Sam Weinig.
Moved the mark stack from global data to the heap, since it pertains
to the heap, and not the virtual machine as a whole.
https://bugs.webkit.org/show_bug.cgi?id=52930
SunSpider reports no change.
* runtime/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::markRoots):
* runtime/Heap.h:
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76399
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2011-01-21 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Moved the mark stack from global data to the heap, since it pertains
+ to the heap, and not the virtual machine as a whole.
+ https://bugs.webkit.org/show_bug.cgi?id=52930
+
+ SunSpider reports no change.
+
+ * runtime/Heap.cpp:
+ (JSC::Heap::Heap):
+ (JSC::Heap::markRoots):
+ * runtime/Heap.h:
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h:
+
2011-01-21 Peter Gal <galpeter@inf.u-szeged.hu>
Reviewed by Darin Adler.
, m_markListSet(0)
, m_activityCallback(DefaultGCActivityCallback::create(this))
, m_globalData(globalData)
- , m_machineStackMarker(&globalData->heap)
+ , m_machineStackMarker(this)
+ , m_markStack(globalData->jsArrayVPtr)
, m_extraCost(0)
{
(*m_activityCallback)();
// Reset mark bits.
m_markedSpace.clearMarkBits();
- MarkStack& markStack = m_globalData->markStack;
+ MarkStack& markStack = m_markStack;
conservativeSet.mark(markStack);
markStack.drain();
#ifndef Heap_h
#define Heap_h
+#include "MarkStack.h"
#include "MarkedSpace.h"
#include <wtf/Forward.h>
#include <wtf/HashSet.h>
JSGlobalData* m_globalData;
MachineStackMarker m_machineStackMarker;
+ MarkStack m_markStack;
size_t m_extraCost;
};
, head(0)
, dynamicGlobalObject(0)
, firstStringifierToMark(0)
- , markStack(jsArrayVPtr)
, cachedUTCOffset(NaN)
, maxReentryDepth(threadStackType == ThreadStackTypeSmall ? MaxSmallThreadReentryDepth : MaxLargeThreadReentryDepth)
, m_regExpCache(new RegExpCache(this))
#include "ExecutableAllocator.h"
#include "JITStubs.h"
#include "JSValue.h"
-#include "MarkStack.h"
#include "NumericStrings.h"
#include "SmallStrings.h"
#include "Terminator.h"
Stringifier* firstStringifierToMark;
- MarkStack markStack;
-
double cachedUTCOffset;
DSTOffsetCache dstOffsetCache;