| 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 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 569 return m_heaps[heapIndex]; | 569 return m_heaps[heapIndex]; |
| 570 } | 570 } |
| 571 BaseHeap* expandedVectorBackingHeap(size_t gcInfoIndex); | 571 BaseHeap* expandedVectorBackingHeap(size_t gcInfoIndex); |
| 572 static bool isVectorHeapIndex(int heapIndex) | 572 static bool isVectorHeapIndex(int heapIndex) |
| 573 { | 573 { |
| 574 return BlinkGC::Vector1HeapIndex <= heapIndex && heapIndex <= BlinkGC::V
ector4HeapIndex; | 574 return BlinkGC::Vector1HeapIndex <= heapIndex && heapIndex <= BlinkGC::V
ector4HeapIndex; |
| 575 } | 575 } |
| 576 void allocationPointAdjusted(int heapIndex); | 576 void allocationPointAdjusted(int heapIndex); |
| 577 void promptlyFreed(size_t gcInfoIndex); | 577 void promptlyFreed(size_t gcInfoIndex); |
| 578 | 578 |
| 579 #if OS(WIN) && COMPILER(MSVC) |
| 580 size_t threadStackSize(); |
| 581 #endif |
| 582 |
| 579 private: | 583 private: |
| 580 enum SnapshotType { | 584 enum SnapshotType { |
| 581 HeapSnapshot, | 585 HeapSnapshot, |
| 582 FreelistSnapshot | 586 FreelistSnapshot |
| 583 }; | 587 }; |
| 584 | 588 |
| 585 ThreadState(); | 589 ThreadState(); |
| 586 ~ThreadState(); | 590 ~ThreadState(); |
| 587 | 591 |
| 588 NO_SANITIZE_ADDRESS void copyStackUntilSafePointScope(); | 592 NO_SANITIZE_ADDRESS void copyStackUntilSafePointScope(); |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 676 // We would like to manage lifetime of the ThreadState attached | 680 // We would like to manage lifetime of the ThreadState attached |
| 677 // to the main thread explicitly instead and still use normal | 681 // to the main thread explicitly instead and still use normal |
| 678 // constructor and destructor for the ThreadState class. | 682 // constructor and destructor for the ThreadState class. |
| 679 // For this we reserve static storage for the main ThreadState | 683 // For this we reserve static storage for the main ThreadState |
| 680 // and lazily construct ThreadState in it using placement new. | 684 // and lazily construct ThreadState in it using placement new. |
| 681 static uint8_t s_mainThreadStateStorage[]; | 685 static uint8_t s_mainThreadStateStorage[]; |
| 682 | 686 |
| 683 ThreadIdentifier m_thread; | 687 ThreadIdentifier m_thread; |
| 684 OwnPtr<PersistentRegion> m_persistentRegion; | 688 OwnPtr<PersistentRegion> m_persistentRegion; |
| 685 BlinkGC::StackState m_stackState; | 689 BlinkGC::StackState m_stackState; |
| 690 #if OS(WIN) && COMPILER(MSVC) |
| 691 size_t m_threadStackSize; |
| 692 #endif |
| 686 intptr_t* m_startOfStack; | 693 intptr_t* m_startOfStack; |
| 687 intptr_t* m_endOfStack; | 694 intptr_t* m_endOfStack; |
| 695 |
| 688 void* m_safePointScopeMarker; | 696 void* m_safePointScopeMarker; |
| 689 Vector<Address> m_safePointStackCopy; | 697 Vector<Address> m_safePointStackCopy; |
| 690 bool m_atSafePoint; | 698 bool m_atSafePoint; |
| 691 InterruptorVector m_interruptors; | 699 InterruptorVector m_interruptors; |
| 692 bool m_sweepForbidden; | 700 bool m_sweepForbidden; |
| 693 size_t m_noAllocationCount; | 701 size_t m_noAllocationCount; |
| 694 size_t m_gcForbiddenCount; | 702 size_t m_gcForbiddenCount; |
| 695 BaseHeap* m_heaps[BlinkGC::NumberOfHeaps]; | 703 BaseHeap* m_heaps[BlinkGC::NumberOfHeaps]; |
| 696 | 704 |
| 697 int m_vectorBackingHeapIndex; | 705 int m_vectorBackingHeapIndex; |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 743 }; | 751 }; |
| 744 | 752 |
| 745 template<> class ThreadStateFor<AnyThread> { | 753 template<> class ThreadStateFor<AnyThread> { |
| 746 public: | 754 public: |
| 747 static ThreadState* state() { return ThreadState::current(); } | 755 static ThreadState* state() { return ThreadState::current(); } |
| 748 }; | 756 }; |
| 749 | 757 |
| 750 } // namespace blink | 758 } // namespace blink |
| 751 | 759 |
| 752 #endif // ThreadState_h | 760 #endif // ThreadState_h |
| OLD | NEW |