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

Side by Side Diff: third_party/WebKit/Source/platform/heap/Visitor.h

Issue 1904003002: CrossThreadPersistentRegion will only trace objects belonging to the current GCing ThreadHeap (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 7 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 unified diff | Download patch
« no previous file with comments | « third_party/WebKit/Source/platform/heap/PersistentNode.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 306
307 virtual void registerWeakTable(const void*, EphemeronCallback, EphemeronCall back) = 0; 307 virtual void registerWeakTable(const void*, EphemeronCallback, EphemeronCall back) = 0;
308 #if ENABLE(ASSERT) 308 #if ENABLE(ASSERT)
309 virtual bool weakTableRegistered(const void*) = 0; 309 virtual bool weakTableRegistered(const void*) = 0;
310 #endif 310 #endif
311 311
312 virtual bool ensureMarked(const void*) = 0; 312 virtual bool ensureMarked(const void*) = 0;
313 313
314 inline MarkingMode getMarkingMode() const { return m_markingMode; } 314 inline MarkingMode getMarkingMode() const { return m_markingMode; }
315 315
316 inline ThreadHeap& heap() const { return m_state->heap(); }
317
316 protected: 318 protected:
317 Visitor(ThreadState*, MarkingMode); 319 Visitor(ThreadState*, MarkingMode);
318 320
319 virtual void registerWeakCellWithCallback(void**, WeakCallback) = 0; 321 virtual void registerWeakCellWithCallback(void**, WeakCallback) = 0;
320 322
321 private: 323 private:
322 static Visitor* fromHelper(VisitorHelper<Visitor>* helper) { return static_c ast<Visitor*>(helper); } 324 static Visitor* fromHelper(VisitorHelper<Visitor>* helper) { return static_c ast<Visitor*>(helper); }
323 325
324 ThreadState* m_state; 326 ThreadState* m_state;
325 const MarkingMode m_markingMode; 327 const MarkingMode m_markingMode;
326 }; 328 };
327 329
328 } // namespace blink 330 } // namespace blink
329 331
330 #endif // Visitor_h 332 #endif // Visitor_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/platform/heap/PersistentNode.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698