| 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 | 106 |
| 105 enum V8GCType { | 107 enum V8GCType { |
| 106 V8MinorGC, | 108 V8MinorGC, |
| 107 V8MajorGC, | 109 V8MajorGC, |
| 108 }; | 110 }; |
| 109 }; | 111 }; |
| 110 | 112 |
| 111 } // namespace blink | 113 } // namespace blink |
| 112 | 114 |
| 113 #endif | 115 #endif |
| OLD | NEW |