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 910 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
921 #endif | 921 #endif |
922 | 922 |
923 template<typename T> static Address allocateOnHeapIndex(size_t, int heapInde
x, size_t gcInfoIndex); | 923 template<typename T> static Address allocateOnHeapIndex(size_t, int heapInde
x, size_t gcInfoIndex); |
924 template<typename T> static Address allocate(size_t); | 924 template<typename T> static Address allocate(size_t); |
925 template<typename T> static Address reallocate(void* previous, size_t); | 925 template<typename T> static Address reallocate(void* previous, size_t); |
926 | 926 |
927 static void collectGarbage(ThreadState::StackState, ThreadState::GCType = Th
readState::GCWithSweep); | 927 static void collectGarbage(ThreadState::StackState, ThreadState::GCType = Th
readState::GCWithSweep); |
928 static void collectGarbageForTerminatingThread(ThreadState*); | 928 static void collectGarbageForTerminatingThread(ThreadState*); |
929 static void collectAllGarbage(); | 929 static void collectAllGarbage(); |
930 | 930 |
931 static void visitObjects(ThreadState*, const HashSet<void*>&); | |
932 static void processMarkingStack(Visitor*); | 931 static void processMarkingStack(Visitor*); |
933 static void postMarkingProcessing(Visitor*); | 932 static void postMarkingProcessing(Visitor*); |
934 static void globalWeakProcessing(Visitor*); | 933 static void globalWeakProcessing(Visitor*); |
935 static void setForcePreciseGCForTesting(); | 934 static void setForcePreciseGCForTesting(); |
936 | 935 |
937 static void preGC(); | 936 static void preGC(); |
938 static void postGC(ThreadState::GCType); | 937 static void postGC(ThreadState::GCType); |
939 | 938 |
940 // Conservatively checks whether an address is a pointer in any of the | 939 // Conservatively checks whether an address is a pointer in any of the |
941 // thread heaps. If so marks the object pointed to as live. | 940 // thread heaps. If so marks the object pointed to as live. |
(...skipping 1500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2442 template<typename T, size_t inlineCapacity> | 2441 template<typename T, size_t inlineCapacity> |
2443 struct GCInfoTrait<HeapVector<T, inlineCapacity>> : public GCInfoTrait<Vector<T,
inlineCapacity, HeapAllocator>> { }; | 2442 struct GCInfoTrait<HeapVector<T, inlineCapacity>> : public GCInfoTrait<Vector<T,
inlineCapacity, HeapAllocator>> { }; |
2444 template<typename T, size_t inlineCapacity> | 2443 template<typename T, size_t inlineCapacity> |
2445 struct GCInfoTrait<HeapDeque<T, inlineCapacity>> : public GCInfoTrait<Deque<T, i
nlineCapacity, HeapAllocator>> { }; | 2444 struct GCInfoTrait<HeapDeque<T, inlineCapacity>> : public GCInfoTrait<Deque<T, i
nlineCapacity, HeapAllocator>> { }; |
2446 template<typename T, typename U, typename V> | 2445 template<typename T, typename U, typename V> |
2447 struct GCInfoTrait<HeapHashCountedSet<T, U, V>> : public GCInfoTrait<HashCounted
Set<T, U, V, HeapAllocator>> { }; | 2446 struct GCInfoTrait<HeapHashCountedSet<T, U, V>> : public GCInfoTrait<HashCounted
Set<T, U, V, HeapAllocator>> { }; |
2448 | 2447 |
2449 } // namespace blink | 2448 } // namespace blink |
2450 | 2449 |
2451 #endif // Heap_h | 2450 #endif // Heap_h |
OLD | NEW |