| 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 862 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 873 // heap page. If so, find the start of that object and mark it | 873 // heap page. If so, find the start of that object and mark it |
| 874 // using the given Visitor. Otherwise do nothing. The pointer must | 874 // using the given Visitor. Otherwise do nothing. The pointer must |
| 875 // be within the same aligned blinkPageSize as the this-pointer. | 875 // be within the same aligned blinkPageSize as the this-pointer. |
| 876 // | 876 // |
| 877 // This is used during conservative stack scanning to | 877 // This is used during conservative stack scanning to |
| 878 // conservatively mark all objects that could be referenced from | 878 // conservatively mark all objects that could be referenced from |
| 879 // the stack. | 879 // the stack. |
| 880 virtual void checkAndMarkPointer(Visitor*, Address) = 0; | 880 virtual void checkAndMarkPointer(Visitor*, Address) = 0; |
| 881 virtual bool contains(Address) = 0; | 881 virtual bool contains(Address) = 0; |
| 882 | 882 |
| 883 virtual void markObject(Address) = 0; |
| 884 virtual bool objectIsMarked(Address) = 0; |
| 885 virtual void clearObjectMarkBitMap() = 0; |
| 886 |
| 883 #if ENABLE(GC_PROFILE_MARKING) | 887 #if ENABLE(GC_PROFILE_MARKING) |
| 884 virtual const GCInfo* findGCInfo(Address) = 0; | 888 virtual const GCInfo* findGCInfo(Address) = 0; |
| 885 #endif | 889 #endif |
| 886 | 890 |
| 887 Address address() { return reinterpret_cast<Address>(this); } | 891 Address address() { return reinterpret_cast<Address>(this); } |
| 888 PageMemory* storage() const { return m_storage; } | 892 PageMemory* storage() const { return m_storage; } |
| 889 ThreadState* threadState() const { return m_threadState; } | 893 ThreadState* threadState() const { return m_threadState; } |
| 890 const GCInfo* gcInfo() { return m_gcInfo; } | 894 const GCInfo* gcInfo() { return m_gcInfo; } |
| 891 virtual bool isLargeObject() { return false; } | 895 virtual bool isLargeObject() { return false; } |
| 892 virtual void markOrphaned(); | 896 virtual void markOrphaned(); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 908 // whether the page is part of a terminting thread or | 912 // whether the page is part of a terminting thread or |
| 909 // if the page is traced after being terminated (orphaned). | 913 // if the page is traced after being terminated (orphaned). |
| 910 uintptr_t m_terminating : 1; | 914 uintptr_t m_terminating : 1; |
| 911 uintptr_t m_tracedAfterOrphaned : 1; | 915 uintptr_t m_tracedAfterOrphaned : 1; |
| 912 uintptr_t m_promptlyFreedSize : 17; // == blinkPageSizeLog2 | 916 uintptr_t m_promptlyFreedSize : 17; // == blinkPageSizeLog2 |
| 913 }; | 917 }; |
| 914 | 918 |
| 915 } // namespace blink | 919 } // namespace blink |
| 916 | 920 |
| 917 #endif // ThreadState_h | 921 #endif // ThreadState_h |
| OLD | NEW |