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

Side by Side Diff: runtime/vm/compiler.h

Issue 1386503002: Initial design for background compilation (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Cleanup Created 5 years, 2 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) 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_COMPILER_H_ 5 #ifndef VM_COMPILER_H_
6 #define VM_COMPILER_H_ 6 #define VM_COMPILER_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 #include "vm/growable_array.h" 9 #include "vm/growable_array.h"
10 #include "vm/runtime_entry.h" 10 #include "vm/runtime_entry.h"
11 #include "vm/thread_pool.h"
11 12
12 namespace dart { 13 namespace dart {
13 14
14 // Forward declarations. 15 // Forward declarations.
15 class Class; 16 class Class;
16 class Function; 17 class Function;
17 class Library; 18 class Library;
18 class ParsedFunction; 19 class ParsedFunction;
19 class RawInstance; 20 class RawInstance;
20 class Script; 21 class Script;
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 static bool allow_recompilation() { return allow_recompilation_; } 93 static bool allow_recompilation() { return allow_recompilation_; }
93 static void set_allow_recompilation(bool value) { 94 static void set_allow_recompilation(bool value) {
94 allow_recompilation_ = value; 95 allow_recompilation_ = value;
95 } 96 }
96 97
97 private: 98 private:
98 static bool always_optimize_; 99 static bool always_optimize_;
99 static bool allow_recompilation_; 100 static bool allow_recompilation_;
100 }; 101 };
101 102
103
104 class CompileOptimizedTask : public ThreadPool::Task {
105 public:
106 explicit CompileOptimizedTask(Isolate* isolate);
107 ~CompileOptimizedTask();
koda 2015/10/01 22:27:02 I believe this is the first task that defines a de
srdjan 2015/10/01 23:11:24 Removes destructor, all cleanup in Stop.
108
109 virtual void Run();
110
111 void CompileOptimized(const Function& function);
112
113 void Add(const Function& f);
114 RawFunction* RemoveOrNull();
115
116 Monitor* monitor() const { return monitor_; }
117
118 static void Init(Isolate* isolate);
koda 2015/10/01 22:27:02 What happens if multiple threads call 'Init'? Cons
srdjan 2015/10/01 23:11:24 Done. There is currently only one Dart code thread
119
120 static void Stop(CompileOptimizedTask* task);
121
122 private:
123 Isolate* isolate_;
124 bool running_;
125 bool* done_;
126 Monitor* monitor_;
127 Monitor* done_monitor_;
128
129 DISALLOW_IMPLICIT_CONSTRUCTORS(CompileOptimizedTask);
130 };
131
102 } // namespace dart 132 } // namespace dart
103 133
104 #endif // VM_COMPILER_H_ 134 #endif // VM_COMPILER_H_
OLDNEW
« no previous file with comments | « runtime/vm/code_generator.cc ('k') | runtime/vm/compiler.cc » ('j') | runtime/vm/compiler.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698