| 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 700 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 711 // heap page. If so, find the start of that object and mark it | 711 // heap page. If so, find the start of that object and mark it |
| 712 // using the given Visitor. Otherwise do nothing. The pointer must | 712 // using the given Visitor. Otherwise do nothing. The pointer must |
| 713 // be within the same aligned blinkPageSize as the this-pointer. | 713 // be within the same aligned blinkPageSize as the this-pointer. |
| 714 // | 714 // |
| 715 // This is used during conservative stack scanning to | 715 // This is used during conservative stack scanning to |
| 716 // conservatively mark all objects that could be referenced from | 716 // conservatively mark all objects that could be referenced from |
| 717 // the stack. | 717 // the stack. |
| 718 virtual void checkAndMarkPointer(Visitor*, Address) = 0; | 718 virtual void checkAndMarkPointer(Visitor*, Address) = 0; |
| 719 virtual bool contains(Address) = 0; | 719 virtual bool contains(Address) = 0; |
| 720 | 720 |
| 721 #if ENABLE(GC_TRACING) | 721 #if ENABLE(GC_PROFILE_MARKING) |
| 722 virtual const GCInfo* findGCInfo(Address) = 0; | 722 virtual const GCInfo* findGCInfo(Address) = 0; |
| 723 #endif | 723 #endif |
| 724 | 724 |
| 725 Address address() { return reinterpret_cast<Address>(this); } | 725 Address address() { return reinterpret_cast<Address>(this); } |
| 726 PageMemory* storage() const { return m_storage; } | 726 PageMemory* storage() const { return m_storage; } |
| 727 ThreadState* threadState() const { return m_threadState; } | 727 ThreadState* threadState() const { return m_threadState; } |
| 728 const GCInfo* gcInfo() { return m_gcInfo; } | 728 const GCInfo* gcInfo() { return m_gcInfo; } |
| 729 virtual bool isLargeObject() { return false; } | 729 virtual bool isLargeObject() { return false; } |
| 730 virtual void markOrphaned() | 730 virtual void markOrphaned() |
| 731 { | 731 { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 748 // HeapPage header. We use some of the bits to determine | 748 // HeapPage header. We use some of the bits to determine |
| 749 // whether the page is part of a terminting thread or | 749 // whether the page is part of a terminting thread or |
| 750 // if the page is traced after being terminated (orphaned). | 750 // if the page is traced after being terminated (orphaned). |
| 751 uintptr_t m_terminating : 1; | 751 uintptr_t m_terminating : 1; |
| 752 uintptr_t m_tracedAfterOrphaned : 1; | 752 uintptr_t m_tracedAfterOrphaned : 1; |
| 753 }; | 753 }; |
| 754 | 754 |
| 755 } | 755 } |
| 756 | 756 |
| 757 #endif // ThreadState_h | 757 #endif // ThreadState_h |
| OLD | NEW |