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 1057 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1068 static bool s_lastGCWasConservative; | 1068 static bool s_lastGCWasConservative; |
1069 static FreePagePool* s_freePagePool; | 1069 static FreePagePool* s_freePagePool; |
1070 static OrphanedPagePool* s_orphanedPagePool; | 1070 static OrphanedPagePool* s_orphanedPagePool; |
1071 static RegionTree* s_regionTree; | 1071 static RegionTree* s_regionTree; |
1072 static size_t s_allocatedSpace; | 1072 static size_t s_allocatedSpace; |
1073 static size_t s_allocatedObjectSize; | 1073 static size_t s_allocatedObjectSize; |
1074 static size_t s_markedObjectSize; | 1074 static size_t s_markedObjectSize; |
1075 static size_t s_externallyAllocatedBytes; | 1075 static size_t s_externallyAllocatedBytes; |
1076 static size_t s_externallyAllocatedBytesAlive; | 1076 static size_t s_externallyAllocatedBytesAlive; |
1077 static unsigned s_requestedUrgentGC; | 1077 static unsigned s_requestedUrgentGC; |
| 1078 static double s_markingTimeInLastGC; |
1078 | 1079 |
1079 friend class ThreadState; | 1080 friend class ThreadState; |
1080 }; | 1081 }; |
1081 | 1082 |
1082 // We use sized heaps for normal pages to improve memory locality. | 1083 // We use sized heaps for normal pages to improve memory locality. |
1083 // It seems that the same type of objects are likely to be accessed together, | 1084 // It seems that the same type of objects are likely to be accessed together, |
1084 // which means that we want to group objects by type. That's why we provide | 1085 // which means that we want to group objects by type. That's why we provide |
1085 // dedicated heaps for popular types (e.g., Node, CSSValue), but it's not | 1086 // dedicated heaps for popular types (e.g., Node, CSSValue), but it's not |
1086 // practical to prepare dedicated heaps for all types. Thus we group objects | 1087 // practical to prepare dedicated heaps for all types. Thus we group objects |
1087 // by their sizes, hoping that it will approximately group objects | 1088 // by their sizes, hoping that it will approximately group objects |
(...skipping 1444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2532 template<typename T, size_t inlineCapacity> | 2533 template<typename T, size_t inlineCapacity> |
2533 struct GCInfoTrait<HeapVector<T, inlineCapacity>> : public GCInfoTrait<Vector<T,
inlineCapacity, HeapAllocator>> { }; | 2534 struct GCInfoTrait<HeapVector<T, inlineCapacity>> : public GCInfoTrait<Vector<T,
inlineCapacity, HeapAllocator>> { }; |
2534 template<typename T, size_t inlineCapacity> | 2535 template<typename T, size_t inlineCapacity> |
2535 struct GCInfoTrait<HeapDeque<T, inlineCapacity>> : public GCInfoTrait<Deque<T, i
nlineCapacity, HeapAllocator>> { }; | 2536 struct GCInfoTrait<HeapDeque<T, inlineCapacity>> : public GCInfoTrait<Deque<T, i
nlineCapacity, HeapAllocator>> { }; |
2536 template<typename T, typename U, typename V> | 2537 template<typename T, typename U, typename V> |
2537 struct GCInfoTrait<HeapHashCountedSet<T, U, V>> : public GCInfoTrait<HashCounted
Set<T, U, V, HeapAllocator>> { }; | 2538 struct GCInfoTrait<HeapHashCountedSet<T, U, V>> : public GCInfoTrait<HashCounted
Set<T, U, V, HeapAllocator>> { }; |
2538 | 2539 |
2539 } // namespace blink | 2540 } // namespace blink |
2540 | 2541 |
2541 #endif // Heap_h | 2542 #endif // Heap_h |
OLD | NEW |