| 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 BlinkGC_h | 5 #ifndef BlinkGC_h |
| 6 #define BlinkGC_h | 6 #define BlinkGC_h |
| 7 | 7 |
| 8 // BlinkGC.h is a file that defines common things used by Blink GC. | 8 // BlinkGC.h is a file that defines common things used by Blink GC. |
| 9 | 9 |
| 10 #include "platform/PlatformExport.h" | 10 #include "platform/PlatformExport.h" |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 size_t); | 41 size_t); |
| 42 | 42 |
| 43 // List of typed arenas. The list is used to generate the implementation | 43 // List of typed arenas. The list is used to generate the implementation |
| 44 // of typed arena related methods. | 44 // of typed arena related methods. |
| 45 // | 45 // |
| 46 // To create a new typed arena add a H(<ClassName>) to the | 46 // To create a new typed arena add a H(<ClassName>) to the |
| 47 // FOR_EACH_TYPED_ARENA macro below. | 47 // FOR_EACH_TYPED_ARENA macro below. |
| 48 #define FOR_EACH_TYPED_ARENA(H) \ | 48 #define FOR_EACH_TYPED_ARENA(H) \ |
| 49 H(Node) \ | 49 H(Node) \ |
| 50 H(CSSValue) | 50 H(CSSValue) |
| 51 /* DO NOT SUBMIT - Conflict resolution helper: |
| 52 * Important to have CSSValue and Node rather than kCSSValue or kNode above */ |
| 51 | 53 |
| 52 #define TypedArenaEnumName(Type) Type##ArenaIndex, | 54 #define TypedArenaEnumName(Type) k##Type##ArenaIndex, |
| 53 | 55 |
| 54 class PLATFORM_EXPORT BlinkGC final { | 56 class PLATFORM_EXPORT BlinkGC final { |
| 55 STATIC_ONLY(BlinkGC); | 57 STATIC_ONLY(BlinkGC); |
| 56 | 58 |
| 57 public: | 59 public: |
| 58 // When garbage collecting we need to know whether or not there | 60 // When garbage collecting we need to know whether or not there |
| 59 // can be pointers to Blink GC managed objects on the stack for | 61 // can be pointers to Blink GC managed objects on the stack for |
| 60 // each thread. When threads reach a safe point they record | 62 // each thread. When threads reach a safe point they record |
| 61 // whether or not they have pointers on the stack. | 63 // whether or not they have pointers on the stack. |
| 62 enum StackState { NoHeapPointersOnStack, HeapPointersOnStack }; | 64 enum StackState { NoHeapPointersOnStack, HeapPointersOnStack }; |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 | 110 |
| 109 enum ThreadHeapMode { | 111 enum ThreadHeapMode { |
| 110 MainThreadHeapMode, | 112 MainThreadHeapMode, |
| 111 PerThreadHeapMode, | 113 PerThreadHeapMode, |
| 112 }; | 114 }; |
| 113 }; | 115 }; |
| 114 | 116 |
| 115 } // namespace blink | 117 } // namespace blink |
| 116 | 118 |
| 117 #endif | 119 #endif |
| OLD | NEW |