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 918 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
929 #endif | 929 #endif |
930 | 930 |
931 template<typename T> static Address allocateOnHeapIndex(size_t, int heapInde
x, size_t gcInfoIndex); | 931 template<typename T> static Address allocateOnHeapIndex(size_t, int heapInde
x, size_t gcInfoIndex); |
932 template<typename T> static Address allocate(size_t); | 932 template<typename T> static Address allocate(size_t); |
933 template<typename T> static Address reallocate(void* previous, size_t); | 933 template<typename T> static Address reallocate(void* previous, size_t); |
934 | 934 |
935 static void collectGarbage(ThreadState::StackState, ThreadState::GCType = Th
readState::GCWithSweep); | 935 static void collectGarbage(ThreadState::StackState, ThreadState::GCType = Th
readState::GCWithSweep); |
936 static void collectGarbageForTerminatingThread(ThreadState*); | 936 static void collectGarbageForTerminatingThread(ThreadState*); |
937 static void collectAllGarbage(); | 937 static void collectAllGarbage(); |
938 | 938 |
| 939 static void visitObjects(ThreadState*, const HashSet<void*>&); |
939 static void processMarkingStack(Visitor*); | 940 static void processMarkingStack(Visitor*); |
940 static void postMarkingProcessing(Visitor*); | 941 static void postMarkingProcessing(Visitor*); |
941 static void globalWeakProcessing(Visitor*); | 942 static void globalWeakProcessing(Visitor*); |
942 static void setForcePreciseGCForTesting(); | 943 static void setForcePreciseGCForTesting(); |
943 | 944 |
944 static void preGC(); | 945 static void preGC(); |
945 static void postGC(ThreadState::GCType); | 946 static void postGC(ThreadState::GCType); |
946 | 947 |
947 // Conservatively checks whether an address is a pointer in any of the | 948 // Conservatively checks whether an address is a pointer in any of the |
948 // thread heaps. If so marks the object pointed to as live. | 949 // thread heaps. If so marks the object pointed to as live. |
(...skipping 1501 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2450 template<typename T, size_t inlineCapacity> | 2451 template<typename T, size_t inlineCapacity> |
2451 struct GCInfoTrait<HeapVector<T, inlineCapacity>> : public GCInfoTrait<Vector<T,
inlineCapacity, HeapAllocator>> { }; | 2452 struct GCInfoTrait<HeapVector<T, inlineCapacity>> : public GCInfoTrait<Vector<T,
inlineCapacity, HeapAllocator>> { }; |
2452 template<typename T, size_t inlineCapacity> | 2453 template<typename T, size_t inlineCapacity> |
2453 struct GCInfoTrait<HeapDeque<T, inlineCapacity>> : public GCInfoTrait<Deque<T, i
nlineCapacity, HeapAllocator>> { }; | 2454 struct GCInfoTrait<HeapDeque<T, inlineCapacity>> : public GCInfoTrait<Deque<T, i
nlineCapacity, HeapAllocator>> { }; |
2454 template<typename T, typename U, typename V> | 2455 template<typename T, typename U, typename V> |
2455 struct GCInfoTrait<HeapHashCountedSet<T, U, V>> : public GCInfoTrait<HashCounted
Set<T, U, V, HeapAllocator>> { }; | 2456 struct GCInfoTrait<HeapHashCountedSet<T, U, V>> : public GCInfoTrait<HashCounted
Set<T, U, V, HeapAllocator>> { }; |
2456 | 2457 |
2457 } // namespace blink | 2458 } // namespace blink |
2458 | 2459 |
2459 #endif // Heap_h | 2460 #endif // Heap_h |
OLD | NEW |