Chromium Code Reviews| Index: runtime/vm/isolate.h |
| diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h |
| index 6dca36de221f9766487911d73690c17339a30193..b9e35c165123a03888615e0c34466e7345a8e3ba 100644 |
| --- a/runtime/vm/isolate.h |
| +++ b/runtime/vm/isolate.h |
| @@ -614,10 +614,10 @@ class Isolate : public BaseIsolate { |
| } |
| void set_compilation_function_queue(const GrowableObjectArray& value); |
| - RawGrowableObjectArray* compilation_code_queue() const { |
| - return compilation_code_queue_; |
| + RawGrowableObjectArray* compilation_result_queue() const { |
| + return compilation_result_queue_; |
| } |
| - void set_compilation_code_queue(const GrowableObjectArray& value); |
| + void set_compilation_result_queue(const GrowableObjectArray& value); |
| Metric* metrics_list_head() { |
| return metrics_list_head_; |
| @@ -644,6 +644,18 @@ class Isolate : public BaseIsolate { |
| all_classes_finalized_ = value; |
| } |
| + void IncrCHAInvalidationGen() { cha_invalidation_gen_++; } |
| + void ResetCHAInvalidationGen() { cha_invalidation_gen_ = 0; } |
| + intptr_t cha_invalidation_gen() const { return cha_invalidation_gen_; } |
| + |
| + void IncrFieldInvalidationGen() { field_invalidation_gen_++; } |
| + void ResetFieldInvalidationGen() { field_invalidation_gen_ = 0; } |
| + intptr_t field_invalidation_gen() const { return field_invalidation_gen_; } |
| + |
| + void IncrPrefixInvalidationGen() { prefix_invalidation_gen_++; } |
| + void ResetPrefixInvalidationGen() { prefix_invalidation_gen_ = 0; } |
| + intptr_t prefix_invalidation_gen() const { return prefix_invalidation_gen_; } |
| + |
| RawObject* InvokePendingServiceExtensionCalls(); |
| void AppendServiceExtensionCall(const Instance& closure, |
| const String& method_name, |
| @@ -805,7 +817,7 @@ class Isolate : public BaseIsolate { |
| // Background compilation. |
| BackgroundCompiler* background_compiler_; |
| RawGrowableObjectArray* compilation_function_queue_; |
| - RawGrowableObjectArray* compilation_code_queue_; |
| + RawGrowableObjectArray* compilation_result_queue_; |
| // We use 6 list entries for each pending service extension calls. |
| enum { |
| @@ -838,6 +850,12 @@ class Isolate : public BaseIsolate { |
| // Used to wake the isolate when it is in the pause event loop. |
| Monitor* pause_loop_monitor_; |
| + // Invalidation generations; used to track events occuring in parallel |
| + // to background compilation |
| + intptr_t cha_invalidation_gen_; |
| + intptr_t field_invalidation_gen_; |
| + intptr_t prefix_invalidation_gen_; |
|
siva
2015/10/29 23:42:07
why not make these uint64_t instead of intptr_t va
srdjan
2015/10/30 17:21:12
Making them uint32_t, since we already have Intege
|
| + |
| #define ISOLATE_METRIC_VARIABLE(type, variable, name, unit) \ |
| type metric_##variable##_; |
| ISOLATE_METRIC_LIST(ISOLATE_METRIC_VARIABLE); |