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 725 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
736 | 736 |
737 virtual void clearFreeLists() { } | 737 virtual void clearFreeLists() { } |
738 void makeConsistentForSweeping(); | 738 void makeConsistentForSweeping(); |
739 #if ENABLE(ASSERT) | 739 #if ENABLE(ASSERT) |
740 virtual bool isConsistentForSweeping() = 0; | 740 virtual bool isConsistentForSweeping() = 0; |
741 #endif | 741 #endif |
742 size_t objectPayloadSizeForTesting(); | 742 size_t objectPayloadSizeForTesting(); |
743 void prepareHeapForTermination(); | 743 void prepareHeapForTermination(); |
744 void prepareForSweep(); | 744 void prepareForSweep(); |
745 Address lazySweep(size_t, size_t gcInfoIndex); | 745 Address lazySweep(size_t, size_t gcInfoIndex); |
| 746 void sweepUnsweptPage(); |
| 747 // Returns true if we have swept all pages within the deadline. |
| 748 // Returns false otherwise. |
| 749 bool lazySweepWithDeadline(double deadlineSeconds); |
746 void completeSweep(); | 750 void completeSweep(); |
747 | 751 |
748 ThreadState* threadState() { return m_threadState; } | 752 ThreadState* threadState() { return m_threadState; } |
749 int heapIndex() const { return m_index; } | 753 int heapIndex() const { return m_index; } |
750 | 754 |
751 protected: | 755 protected: |
752 BasePage* m_firstPage; | 756 BasePage* m_firstPage; |
753 BasePage* m_firstUnsweptPage; | 757 BasePage* m_firstUnsweptPage; |
754 | 758 |
755 private: | 759 private: |
(...skipping 1777 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2533 template<typename T, size_t inlineCapacity> | 2537 template<typename T, size_t inlineCapacity> |
2534 struct GCInfoTrait<HeapVector<T, inlineCapacity>> : public GCInfoTrait<Vector<T,
inlineCapacity, HeapAllocator>> { }; | 2538 struct GCInfoTrait<HeapVector<T, inlineCapacity>> : public GCInfoTrait<Vector<T,
inlineCapacity, HeapAllocator>> { }; |
2535 template<typename T, size_t inlineCapacity> | 2539 template<typename T, size_t inlineCapacity> |
2536 struct GCInfoTrait<HeapDeque<T, inlineCapacity>> : public GCInfoTrait<Deque<T, i
nlineCapacity, HeapAllocator>> { }; | 2540 struct GCInfoTrait<HeapDeque<T, inlineCapacity>> : public GCInfoTrait<Deque<T, i
nlineCapacity, HeapAllocator>> { }; |
2537 template<typename T, typename U, typename V> | 2541 template<typename T, typename U, typename V> |
2538 struct GCInfoTrait<HeapHashCountedSet<T, U, V>> : public GCInfoTrait<HashCounted
Set<T, U, V, HeapAllocator>> { }; | 2542 struct GCInfoTrait<HeapHashCountedSet<T, U, V>> : public GCInfoTrait<HashCounted
Set<T, U, V, HeapAllocator>> { }; |
2539 | 2543 |
2540 } // namespace blink | 2544 } // namespace blink |
2541 | 2545 |
2542 #endif // Heap_h | 2546 #endif // Heap_h |
OLD | NEW |