Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(236)

Unified Diff: Source/platform/heap/ThreadState.h

Issue 651713002: Oilpan: DOM wrappers don't need to keep persistent handles (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/platform/heap/RunAllTests.cpp ('k') | Source/platform/heap/ThreadState.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/platform/heap/ThreadState.h
diff --git a/Source/platform/heap/ThreadState.h b/Source/platform/heap/ThreadState.h
index b6405a8fee1d13baf529a6e6061a7341ef851050..8b7db86abb749c60aef9b2ec9fb243b342c7fe93 100644
--- a/Source/platform/heap/ThreadState.h
+++ b/Source/platform/heap/ThreadState.h
@@ -43,6 +43,10 @@
#include "wtf/ThreadingPrimitives.h"
#include "wtf/Vector.h"
+namespace v8 {
+class Isolate;
+};
+
namespace blink {
class BaseHeap;
@@ -52,7 +56,6 @@ struct GCInfo;
class HeapObjectHeader;
class PageMemory;
class PersistentNode;
-class WrapperPersistentRegion;
class Visitor;
class SafePointBarrier;
class SafePointAwareMutexLocker;
@@ -623,14 +626,6 @@ public:
BaseHeapPage* contains(void* pointer) { return contains(reinterpret_cast<Address>(pointer)); }
BaseHeapPage* contains(const void* pointer) { return contains(const_cast<void*>(pointer)); }
- WrapperPersistentRegion* wrapperRoots() const
- {
- ASSERT(m_liveWrapperPersistents);
- return m_liveWrapperPersistents;
- }
- WrapperPersistentRegion* takeWrapperPersistentRegion();
- void freeWrapperPersistentRegion(WrapperPersistentRegion*);
-
// List of persistent roots allocated on the given thread.
PersistentNode* roots() const { return m_persistents.get(); }
@@ -724,6 +719,12 @@ public:
void shouldFlushHeapDoesNotContainCache() { m_shouldFlushHeapDoesNotContainCache = true; }
+ void registerTraceDOMWrappers(v8::Isolate* isolate, void (*traceDOMWrappers)(v8::Isolate*, Visitor*))
+ {
+ m_isolate = isolate;
+ m_traceDOMWrappers = traceDOMWrappers;
+ }
+
private:
explicit ThreadState();
~ThreadState();
@@ -783,9 +784,6 @@ private:
static uint8_t s_mainThreadStateStorage[];
ThreadIdentifier m_thread;
- WrapperPersistentRegion* m_liveWrapperPersistents;
- WrapperPersistentRegion* m_pooledWrapperPersistents;
- size_t m_pooledWrapperPersistentRegionCount;
OwnPtr<PersistentNode> m_persistents;
StackState m_stackState;
intptr_t* m_startOfStack;
@@ -818,6 +816,9 @@ private:
CallbackStack* m_weakCallbackStack;
HashMap<void*, bool (*)(void*, Visitor&)> m_preFinalizers;
+ v8::Isolate* m_isolate;
+ void (*m_traceDOMWrappers)(v8::Isolate*, Visitor*);
+
#if defined(ADDRESS_SANITIZER)
void* m_asanFakeStack;
#endif
« no previous file with comments | « Source/platform/heap/RunAllTests.cpp ('k') | Source/platform/heap/ThreadState.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698