OLD | NEW |
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 1974 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1985 template<MarkingMode Mode> | 1985 template<MarkingMode Mode> |
1986 class MarkingVisitor final : public Visitor { | 1986 class MarkingVisitor final : public Visitor { |
1987 public: | 1987 public: |
1988 #if ENABLE(GC_PROFILE_MARKING) | 1988 #if ENABLE(GC_PROFILE_MARKING) |
1989 using LiveObjectSet = HashSet<uintptr_t>; | 1989 using LiveObjectSet = HashSet<uintptr_t>; |
1990 using LiveObjectMap = HashMap<String, LiveObjectSet>; | 1990 using LiveObjectMap = HashMap<String, LiveObjectSet>; |
1991 using ObjectGraph = HashMap<uintptr_t, std::pair<uintptr_t, String>>; | 1991 using ObjectGraph = HashMap<uintptr_t, std::pair<uintptr_t, String>>; |
1992 #endif | 1992 #endif |
1993 | 1993 |
1994 explicit MarkingVisitor(CallbackStack* markingStack) | 1994 explicit MarkingVisitor(CallbackStack* markingStack) |
1995 : m_markingStack(markingStack) | 1995 : Visitor(Mode == GlobalMarking ? Visitor::GlobalMarkingVisitorType : Vi
sitor::GenericVisitorType) |
| 1996 , m_markingStack(markingStack) |
1996 { | 1997 { |
1997 } | 1998 } |
1998 | 1999 |
1999 inline void visitHeader(HeapObjectHeader* header, const void* objectPointer,
TraceCallback callback) | 2000 inline void visitHeader(HeapObjectHeader* header, const void* objectPointer,
TraceCallback callback) |
2000 { | 2001 { |
2001 ASSERT(header); | 2002 ASSERT(header); |
2002 ASSERT(objectPointer); | 2003 ASSERT(objectPointer); |
2003 // Check that we are not marking objects that are outside | 2004 // Check that we are not marking objects that are outside |
2004 // the heap by calling Heap::contains. However we cannot | 2005 // the heap by calling Heap::contains. However we cannot |
2005 // call Heap::contains when outside a GC and we call mark | 2006 // call Heap::contains when outside a GC and we call mark |
(...skipping 946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2952 bool Heap::s_shutdownCalled = false; | 2953 bool Heap::s_shutdownCalled = false; |
2953 bool Heap::s_lastGCWasConservative = false; | 2954 bool Heap::s_lastGCWasConservative = false; |
2954 FreePagePool* Heap::s_freePagePool; | 2955 FreePagePool* Heap::s_freePagePool; |
2955 OrphanedPagePool* Heap::s_orphanedPagePool; | 2956 OrphanedPagePool* Heap::s_orphanedPagePool; |
2956 Heap::RegionTree* Heap::s_regionTree = nullptr; | 2957 Heap::RegionTree* Heap::s_regionTree = nullptr; |
2957 size_t Heap::s_allocatedObjectSize = 0; | 2958 size_t Heap::s_allocatedObjectSize = 0; |
2958 size_t Heap::s_allocatedSpace = 0; | 2959 size_t Heap::s_allocatedSpace = 0; |
2959 size_t Heap::s_markedObjectSize = 0; | 2960 size_t Heap::s_markedObjectSize = 0; |
2960 | 2961 |
2961 } // namespace blink | 2962 } // namespace blink |
OLD | NEW |