summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/heap/Heap.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/heap/Heap.h')
-rw-r--r--Source/JavaScriptCore/heap/Heap.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/Source/JavaScriptCore/heap/Heap.h b/Source/JavaScriptCore/heap/Heap.h
index 91c3aa58f..a43be3df0 100644
--- a/Source/JavaScriptCore/heap/Heap.h
+++ b/Source/JavaScriptCore/heap/Heap.h
@@ -26,6 +26,7 @@
#include "DFGCodeBlocks.h"
#include "HandleSet.h"
#include "HandleStack.h"
+#include "JITStubRoutineSet.h"
#include "MarkedAllocator.h"
#include "MarkedBlock.h"
#include "MarkedBlockSet.h"
@@ -44,10 +45,12 @@ namespace JSC {
class CodeBlock;
class ExecutableBase;
class GCActivityCallback;
+ class GCAwareJITStubRoutine;
class GlobalCodeBlock;
class Heap;
class HeapRootVisitor;
class IncrementalSweeper;
+ class JITStubRoutine;
class JSCell;
class JSGlobalData;
class JSValue;
@@ -99,10 +102,10 @@ namespace JSC {
MachineThreads& machineThreads() { return m_machineThreads; }
JS_EXPORT_PRIVATE GCActivityCallback* activityCallback();
- JS_EXPORT_PRIVATE void setActivityCallback(PassOwnPtr<GCActivityCallback>);
+ JS_EXPORT_PRIVATE void setActivityCallback(GCActivityCallback*);
JS_EXPORT_PRIVATE void setGarbageCollectionTimerEnabled(bool);
- IncrementalSweeper* sweeper();
+ JS_EXPORT_PRIVATE IncrementalSweeper* sweeper();
// true if an allocation or collection is in progress
inline bool isBusy();
@@ -168,6 +171,8 @@ namespace JSC {
private:
friend class CodeBlock;
+ friend class GCAwareJITStubRoutine;
+ friend class JITStubRoutine;
friend class LLIntOffsetsExtractor;
friend class MarkedSpace;
friend class MarkedAllocator;
@@ -229,6 +234,7 @@ namespace JSC {
HandleSet m_handleSet;
HandleStack m_handleStack;
DFGCodeBlocks m_dfgCodeBlocks;
+ JITStubRoutineSet m_jitStubRoutines;
FinalizerOwner m_finalizerOwner;
bool m_isSafeToCollect;
@@ -237,10 +243,10 @@ namespace JSC {
double m_lastGCLength;
double m_lastCodeDiscardTime;
- OwnPtr<GCActivityCallback> m_activityCallback;
- OwnPtr<IncrementalSweeper> m_sweeper;
-
DoublyLinkedList<ExecutableBase> m_compiledCode;
+
+ GCActivityCallback* m_activityCallback;
+ IncrementalSweeper* m_sweeper;
};
inline bool Heap::shouldCollect()