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

Unified Diff: src/compiler-dispatcher/compiler-dispatcher.h

Issue 2573493002: Use idle time to make progress on scheduled compilation jobs (Closed)
Patch Set: Created 4 years 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 side-by-side diff with in-line comments
Download patch
Index: src/compiler-dispatcher/compiler-dispatcher.h
diff --git a/src/compiler-dispatcher/compiler-dispatcher.h b/src/compiler-dispatcher/compiler-dispatcher.h
index e6737a002945175bcaaefd3bcf6d25bec2232edc..7947a448b133d26477072a1fea95bb6d75e3f954 100644
--- a/src/compiler-dispatcher/compiler-dispatcher.h
+++ b/src/compiler-dispatcher/compiler-dispatcher.h
@@ -13,6 +13,9 @@
#include "src/globals.h"
namespace v8 {
+
+class Platform;
+
namespace internal {
class CompilerDispatcherJob;
@@ -27,7 +30,8 @@ class V8_EXPORT_PRIVATE CompilerDispatcher {
public:
enum class BlockingBehavior { kBlock, kDontBlock };
- CompilerDispatcher(Isolate* isolate, size_t max_stack_size);
+ CompilerDispatcher(Isolate* isolate, Platform* platform,
+ size_t max_stack_size);
~CompilerDispatcher();
// Returns true if a job was enqueued.
@@ -50,12 +54,19 @@ class V8_EXPORT_PRIVATE CompilerDispatcher {
typedef std::multimap<std::pair<int, int>,
std::unique_ptr<CompilerDispatcherJob>>
JobMap;
+ class IdleTask;
+
JobMap::const_iterator GetJobFor(Handle<SharedFunctionInfo> shared) const;
+ void ScheduleIdleTaskIfNeeded();
+ void DoIdleWork(double deadline_in_seconds);
Isolate* isolate_;
+ Platform* platform_;
size_t max_stack_size_;
std::unique_ptr<CompilerDispatcherTracer> tracer_;
+ bool idle_task_scheduled_;
+
// Mapping from (script id, function literal id) to job. We use a multimap,
// as script id is not necessarily unique.
JobMap jobs_;
« no previous file with comments | « no previous file | src/compiler-dispatcher/compiler-dispatcher.cc » ('j') | src/compiler-dispatcher/compiler-dispatcher.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698