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_ZONE_H_ | 5 #ifndef VM_ZONE_H_ |
6 #define VM_ZONE_H_ | 6 #define VM_ZONE_H_ |
7 | 7 |
8 #include "platform/utils.h" | 8 #include "platform/utils.h" |
9 #include "vm/allocation.h" | 9 #include "vm/allocation.h" |
10 #include "vm/handles.h" | 10 #include "vm/handles.h" |
| 11 #include "vm/thread.h" |
11 #include "vm/memory_region.h" | 12 #include "vm/memory_region.h" |
12 | 13 |
13 namespace dart { | 14 namespace dart { |
14 | 15 |
15 DECLARE_DEBUG_FLAG(bool, trace_zones); | 16 DECLARE_DEBUG_FLAG(bool, trace_zones); |
16 | 17 |
17 // Zones support very fast allocation of small chunks of memory. The | 18 // Zones support very fast allocation of small chunks of memory. The |
18 // chunks cannot be deallocated individually, but instead zones | 19 // chunks cannot be deallocated individually, but instead zones |
19 // support deallocating all chunks in one fast operation. | 20 // support deallocating all chunks in one fast operation. |
20 | 21 |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 memmove(reinterpret_cast<void*>(new_data), | 291 memmove(reinterpret_cast<void*>(new_data), |
291 reinterpret_cast<void*>(old_data), | 292 reinterpret_cast<void*>(old_data), |
292 old_len * kElementSize); | 293 old_len * kElementSize); |
293 } | 294 } |
294 return new_data; | 295 return new_data; |
295 } | 296 } |
296 | 297 |
297 } // namespace dart | 298 } // namespace dart |
298 | 299 |
299 #endif // VM_ZONE_H_ | 300 #endif // VM_ZONE_H_ |
OLD | NEW |