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

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

Issue 2573783002: Remove PreFinalizer{Callback} type aliases from view. (Closed)
Patch Set: Created 4 years 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/BlinkGC.h ('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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 \ 110 \
111 private: \ 111 private: \
112 ThreadState::PrefinalizerRegistration<Class> m_prefinalizerDummy = this; \ 112 ThreadState::PrefinalizerRegistration<Class> m_prefinalizerDummy = this; \
113 using UsingPreFinalizerMacroNeedsTrailingSemiColon = char 113 using UsingPreFinalizerMacroNeedsTrailingSemiColon = char
114 114
115 class PLATFORM_EXPORT ThreadState { 115 class PLATFORM_EXPORT ThreadState {
116 USING_FAST_MALLOC(ThreadState); 116 USING_FAST_MALLOC(ThreadState);
117 WTF_MAKE_NONCOPYABLE(ThreadState); 117 WTF_MAKE_NONCOPYABLE(ThreadState);
118 118
119 public: 119 public:
120 typedef std::pair<void*, PreFinalizerCallback> PreFinalizer;
121
122 // See setGCState() for possible state transitions. 120 // See setGCState() for possible state transitions.
123 enum GCState { 121 enum GCState {
124 NoGCScheduled, 122 NoGCScheduled,
125 IdleGCScheduled, 123 IdleGCScheduled,
126 PreciseGCScheduled, 124 PreciseGCScheduled,
127 FullGCScheduled, 125 FullGCScheduled,
128 PageNavigationGCScheduled, 126 PageNavigationGCScheduled,
129 GCRunning, 127 GCRunning,
130 EagerSweepScheduled, 128 EagerSweepScheduled,
131 LazySweepScheduled, 129 LazySweepScheduled,
(...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after
698 696
699 const BlinkGC::ThreadHeapMode m_threadHeapMode; 697 const BlinkGC::ThreadHeapMode m_threadHeapMode;
700 bool m_isTerminating; 698 bool m_isTerminating;
701 GarbageCollectedMixinConstructorMarker* m_gcMixinMarker; 699 GarbageCollectedMixinConstructorMarker* m_gcMixinMarker;
702 700
703 bool m_shouldFlushHeapDoesNotContainCache; 701 bool m_shouldFlushHeapDoesNotContainCache;
704 GCState m_gcState; 702 GCState m_gcState;
705 703
706 std::unique_ptr<CallbackStack> m_threadLocalWeakCallbackStack; 704 std::unique_ptr<CallbackStack> m_threadLocalWeakCallbackStack;
707 705
706 using PreFinalizerCallback = bool (*)(void*);
707 using PreFinalizer = std::pair<void*, PreFinalizerCallback>;
708
708 // Pre-finalizers are called in the reverse order in which they are 709 // Pre-finalizers are called in the reverse order in which they are
709 // registered by the constructors (including constructors of Mixin objects) 710 // registered by the constructors (including constructors of Mixin objects)
710 // for an object, by processing the m_orderedPreFinalizers back-to-front. 711 // for an object, by processing the m_orderedPreFinalizers back-to-front.
711 ListHashSet<PreFinalizer> m_orderedPreFinalizers; 712 ListHashSet<PreFinalizer> m_orderedPreFinalizers;
712 713
713 v8::Isolate* m_isolate; 714 v8::Isolate* m_isolate;
714 void (*m_traceDOMWrappers)(v8::Isolate*, Visitor*); 715 void (*m_traceDOMWrappers)(v8::Isolate*, Visitor*);
715 void (*m_invalidateDeadObjectsInWrappersMarkingDeque)(v8::Isolate*); 716 void (*m_invalidateDeadObjectsInWrappersMarkingDeque)(v8::Isolate*);
716 void (*m_performCleanup)(v8::Isolate*); 717 void (*m_performCleanup)(v8::Isolate*);
717 718
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
764 class ThreadStateFor<AnyThread> { 765 class ThreadStateFor<AnyThread> {
765 STATIC_ONLY(ThreadStateFor); 766 STATIC_ONLY(ThreadStateFor);
766 767
767 public: 768 public:
768 static ThreadState* state() { return ThreadState::current(); } 769 static ThreadState* state() { return ThreadState::current(); }
769 }; 770 };
770 771
771 } // namespace blink 772 } // namespace blink
772 773
773 #endif // ThreadState_h 774 #endif // ThreadState_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/platform/heap/BlinkGC.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698