OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef GarbageCollected_h | 5 #ifndef GarbageCollected_h |
6 #define GarbageCollected_h | 6 #define GarbageCollected_h |
7 | 7 |
8 #include "platform/heap/ThreadState.h" | 8 #include "platform/heap/ThreadState.h" |
9 #include "wtf/Allocator.h" | 9 #include "wtf/Allocator.h" |
10 #include "wtf/Assertions.h" | 10 #include "wtf/Assertions.h" |
11 #include "wtf/TypeTraits.h" | 11 #include "wtf/TypeTraits.h" |
12 | 12 |
13 namespace blink { | 13 namespace blink { |
14 | 14 |
15 template <typename T> | 15 template <typename T> |
16 class GarbageCollected; | 16 class GarbageCollected; |
| 17 class HeapObjectHeader; |
17 class InlinedGlobalMarkingVisitor; | 18 class InlinedGlobalMarkingVisitor; |
18 class WrapperVisitor; | 19 class WrapperVisitor; |
19 | 20 |
20 // GC_PLUGIN_IGNORE is used to make the plugin ignore a particular class or | 21 // GC_PLUGIN_IGNORE is used to make the plugin ignore a particular class or |
21 // field when checking for proper usage. When using GC_PLUGIN_IGNORE | 22 // field when checking for proper usage. When using GC_PLUGIN_IGNORE |
22 // a bug-number should be provided as an argument where the bug describes | 23 // a bug-number should be provided as an argument where the bug describes |
23 // what needs to happen to remove the GC_PLUGIN_IGNORE again. | 24 // what needs to happen to remove the GC_PLUGIN_IGNORE again. |
24 #if COMPILER(CLANG) | 25 #if COMPILER(CLANG) |
25 #define GC_PLUGIN_IGNORE(bug) \ | 26 #define GC_PLUGIN_IGNORE(bug) \ |
26 __attribute__((annotate("blink_gc_plugin_ignore"))) | 27 __attribute__((annotate("blink_gc_plugin_ignore"))) |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 static FalseType isSizeofKnown(...); | 296 static FalseType isSizeofKnown(...); |
296 static T& t; | 297 static T& t; |
297 | 298 |
298 public: | 299 public: |
299 static const bool value = sizeof(TrueType) == sizeof(isSizeofKnown(&t)); | 300 static const bool value = sizeof(TrueType) == sizeof(isSizeofKnown(&t)); |
300 }; | 301 }; |
301 | 302 |
302 } // namespace blink | 303 } // namespace blink |
303 | 304 |
304 #endif | 305 #endif |
OLD | NEW |