Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Side by Side Diff: runtime/vm/gc_marker.cc

Issue 1974873002: Disable concurrent marking/sweeping, and background compilation on ARMv5TE (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 #include "vm/gc_marker.h" 5 #include "vm/gc_marker.h"
6 6
7 #include <map> 7 #include <map>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
11 #include "vm/allocation.h" 11 #include "vm/allocation.h"
12 #include "vm/dart_api_state.h" 12 #include "vm/dart_api_state.h"
13 #include "vm/isolate.h" 13 #include "vm/isolate.h"
14 #include "vm/log.h" 14 #include "vm/log.h"
15 #include "vm/pages.h" 15 #include "vm/pages.h"
16 #include "vm/raw_object.h" 16 #include "vm/raw_object.h"
17 #include "vm/stack_frame.h" 17 #include "vm/stack_frame.h"
18 #include "vm/store_buffer.h" 18 #include "vm/store_buffer.h"
19 #include "vm/thread_barrier.h" 19 #include "vm/thread_barrier.h"
20 #include "vm/thread_pool.h" 20 #include "vm/thread_pool.h"
21 #include "vm/thread_registry.h" 21 #include "vm/thread_registry.h"
22 #include "vm/timeline.h" 22 #include "vm/timeline.h"
23 #include "vm/visitor.h" 23 #include "vm/visitor.h"
24 #include "vm/object_id_ring.h" 24 #include "vm/object_id_ring.h"
25 25
26 namespace dart { 26 namespace dart {
27 27
28 DEFINE_FLAG(int, marker_tasks, 2, 28 // Disable concurrent marking by default on armv5te. The relevant
29 // implementations are uniprocessors.
30 #if defined(TARGET_ARCH_ARM_5TE)
31 #define MARKER_TASKS 0
32 #else
33 #define MARKER_TASKS 2
34 #endif
35
36 DEFINE_FLAG(int, marker_tasks, MARKER_TASKS,
Ivan Posva 2016/05/12 17:19:46 Can we please move these flags into the flag list?
zra 2016/05/12 19:54:21 Done.
29 "The number of tasks to spawn during old gen GC marking (0 means " 37 "The number of tasks to spawn during old gen GC marking (0 means "
30 "perform all marking on main thread)."); 38 "perform all marking on main thread).");
31 DEFINE_FLAG(bool, log_marker_tasks, false, 39 DEFINE_FLAG(bool, log_marker_tasks, false,
32 "Log debugging information for old gen GC marking tasks."); 40 "Log debugging information for old gen GC marking tasks.");
33 41
34 class DelaySet { 42 class DelaySet {
35 private: 43 private:
36 typedef std::multimap<RawObject*, RawWeakProperty*> Map; 44 typedef std::multimap<RawObject*, RawWeakProperty*> Map;
37 typedef std::pair<RawObject*, RawWeakProperty*> MapEntry; 45 typedef std::pair<RawObject*, RawWeakProperty*> MapEntry;
38 46
(...skipping 712 matching lines...) Expand 10 before | Expand all | Expand 10 after
751 barrier.Exit(); 759 barrier.Exit();
752 } 760 }
753 delay_set.ClearReferences(); 761 delay_set.ClearReferences();
754 ProcessWeakTables(page_space); 762 ProcessWeakTables(page_space);
755 ProcessObjectIdTable(isolate); 763 ProcessObjectIdTable(isolate);
756 } 764 }
757 Epilogue(isolate, invoke_api_callbacks); 765 Epilogue(isolate, invoke_api_callbacks);
758 } 766 }
759 767
760 } // namespace dart 768 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/flag_list.h ('k') | runtime/vm/intrinsifier.cc » ('j') | runtime/vm/pages.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698