Chromium Code Reviews| 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 RUNTIME_VM_HEAP_H_ | 5 #ifndef RUNTIME_VM_HEAP_H_ |
| 6 #define RUNTIME_VM_HEAP_H_ | 6 #define RUNTIME_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 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 238 | 238 |
| 239 Isolate* isolate() const { return isolate_; } | 239 Isolate* isolate() const { return isolate_; } |
| 240 | 240 |
| 241 Monitor* barrier() const { return barrier_; } | 241 Monitor* barrier() const { return barrier_; } |
| 242 Monitor* barrier_done() const { return barrier_done_; } | 242 Monitor* barrier_done() const { return barrier_done_; } |
| 243 | 243 |
| 244 void SetupImagePage(void* pointer, uword size, bool is_executable) { | 244 void SetupImagePage(void* pointer, uword size, bool is_executable) { |
| 245 old_space_.SetupImagePage(pointer, size, is_executable); | 245 old_space_.SetupImagePage(pointer, size, is_executable); |
| 246 } | 246 } |
| 247 | 247 |
| 248 bool IsDebugCollection() { return debug_gc_in_progress_; } | |
|
rmacnak
2017/06/08 21:23:48
Unused
| |
| 249 | |
| 248 private: | 250 private: |
| 249 class GCStats : public ValueObject { | 251 class GCStats : public ValueObject { |
| 250 public: | 252 public: |
| 251 GCStats() {} | 253 GCStats() {} |
| 252 intptr_t num_; | 254 intptr_t num_; |
| 253 Heap::Space space_; | 255 Heap::Space space_; |
| 254 Heap::GCReason reason_; | 256 Heap::GCReason reason_; |
| 255 | 257 |
| 256 class Data : public ValueObject { | 258 class Data : public ValueObject { |
| 257 public: | 259 public: |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 339 GCStats stats_; | 341 GCStats stats_; |
| 340 | 342 |
| 341 // This heap is in read-only mode: No allocation is allowed. | 343 // This heap is in read-only mode: No allocation is allowed. |
| 342 bool read_only_; | 344 bool read_only_; |
| 343 | 345 |
| 344 // GC on the heap is in progress. | 346 // GC on the heap is in progress. |
| 345 Monitor gc_in_progress_monitor_; | 347 Monitor gc_in_progress_monitor_; |
| 346 bool gc_new_space_in_progress_; | 348 bool gc_new_space_in_progress_; |
| 347 bool gc_old_space_in_progress_; | 349 bool gc_old_space_in_progress_; |
| 348 | 350 |
| 351 // Debug GC is in progress | |
| 352 bool debug_gc_in_progress_; | |
| 353 | |
| 349 friend class Become; // VisitObjectPointers | 354 friend class Become; // VisitObjectPointers |
| 350 friend class Precompiler; // VisitObjects | 355 friend class Precompiler; // VisitObjects |
| 351 friend class ObjectGraph; // VisitObjects | 356 friend class ObjectGraph; // VisitObjects |
| 352 friend class Unmarker; // VisitObjects | 357 friend class Unmarker; // VisitObjects |
| 353 friend class ServiceEvent; | 358 friend class ServiceEvent; |
| 354 friend class PageSpace; // VerifyGC | 359 friend class PageSpace; // VerifyGC |
| 355 friend class IsolateReloadContext; // VisitObjects | 360 friend class IsolateReloadContext; // VisitObjects |
| 356 friend class ClassFinalizer; // VisitObjects | 361 friend class ClassFinalizer; // VisitObjects |
| 357 | 362 |
| 358 DISALLOW_COPY_AND_ASSIGN(Heap); | 363 DISALLOW_COPY_AND_ASSIGN(Heap); |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 387 // Note: During this scope, the code pages are non-executable. | 392 // Note: During this scope, the code pages are non-executable. |
| 388 class WritableVMIsolateScope : StackResource { | 393 class WritableVMIsolateScope : StackResource { |
| 389 public: | 394 public: |
| 390 explicit WritableVMIsolateScope(Thread* thread); | 395 explicit WritableVMIsolateScope(Thread* thread); |
| 391 ~WritableVMIsolateScope(); | 396 ~WritableVMIsolateScope(); |
| 392 }; | 397 }; |
| 393 | 398 |
| 394 } // namespace dart | 399 } // namespace dart |
| 395 | 400 |
| 396 #endif // RUNTIME_VM_HEAP_H_ | 401 #endif // RUNTIME_VM_HEAP_H_ |
| OLD | NEW |