| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef VM_HEAP_H_ | 5 #ifndef VM_HEAP_H_ |
| 6 #define VM_HEAP_H_ | 6 #define VM_HEAP_H_ |
| 7 | 7 |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/allocation.h" | 9 #include "vm/allocation.h" |
| 10 #include "vm/flags.h" | 10 #include "vm/flags.h" |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 void AllocateExternal(intptr_t size, Space space); | 97 void AllocateExternal(intptr_t size, Space space); |
| 98 void FreeExternal(intptr_t size, Space space); | 98 void FreeExternal(intptr_t size, Space space); |
| 99 // Move external size from new to old space. Does not by itself trigger GC. | 99 // Move external size from new to old space. Does not by itself trigger GC. |
| 100 void PromoteExternal(intptr_t size); | 100 void PromoteExternal(intptr_t size); |
| 101 | 101 |
| 102 // Heap contains the specified address. | 102 // Heap contains the specified address. |
| 103 bool Contains(uword addr) const; | 103 bool Contains(uword addr) const; |
| 104 bool NewContains(uword addr) const; | 104 bool NewContains(uword addr) const; |
| 105 bool OldContains(uword addr) const; | 105 bool OldContains(uword addr) const; |
| 106 bool CodeContains(uword addr) const; | 106 bool CodeContains(uword addr) const; |
| 107 bool StubCodeContains(uword addr) const; | |
| 108 | 107 |
| 109 void IterateObjects(ObjectVisitor* visitor) const; | 108 void IterateObjects(ObjectVisitor* visitor) const; |
| 110 void IterateOldObjects(ObjectVisitor* visitor) const; | 109 void IterateOldObjects(ObjectVisitor* visitor) const; |
| 111 void IterateObjectPointers(ObjectVisitor* visitor) const; | 110 void IterateObjectPointers(ObjectVisitor* visitor) const; |
| 112 | 111 |
| 113 // Find an object by visiting all pointers in the specified heap space, | 112 // Find an object by visiting all pointers in the specified heap space, |
| 114 // the 'visitor' is used to determine if an object is found or not. | 113 // the 'visitor' is used to determine if an object is found or not. |
| 115 // The 'visitor' function should be set up to return true if the | 114 // The 'visitor' function should be set up to return true if the |
| 116 // object is found, traversal through the heap space stops at that | 115 // object is found, traversal through the heap space stops at that |
| 117 // point. | 116 // point. |
| (...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 380 explicit WritableVMIsolateScope(Thread* thread, bool include_code_pages); | 379 explicit WritableVMIsolateScope(Thread* thread, bool include_code_pages); |
| 381 ~WritableVMIsolateScope(); | 380 ~WritableVMIsolateScope(); |
| 382 | 381 |
| 383 private: | 382 private: |
| 384 bool include_code_pages_; | 383 bool include_code_pages_; |
| 385 }; | 384 }; |
| 386 | 385 |
| 387 } // namespace dart | 386 } // namespace dart |
| 388 | 387 |
| 389 #endif // VM_HEAP_H_ | 388 #endif // VM_HEAP_H_ |
| OLD | NEW |