| Index: runtime/vm/isolate.h
|
| diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h
|
| index 12dd5fa2f6fdcc37fd861a2de0c6adc4eb08164f..b724c02d76e7f61e4b08bb7fa0bfdea40f33ae9a 100644
|
| --- a/runtime/vm/isolate.h
|
| +++ b/runtime/vm/isolate.h
|
| @@ -19,6 +19,7 @@
|
| #include "vm/os_thread.h"
|
| #include "vm/timer.h"
|
| #include "vm/token_position.h"
|
| +#include "vm/growable_array.h"
|
|
|
| namespace dart {
|
|
|
| @@ -70,6 +71,18 @@ class ThreadRegistry;
|
| class UserTag;
|
|
|
|
|
| +class PendingLazyDeopt {
|
| + public:
|
| + PendingLazyDeopt(uword fp, uword pc) : fp_(fp), pc_(pc) { }
|
| + uword fp() { return fp_; }
|
| + uword pc() { return pc_; }
|
| +
|
| + private:
|
| + uword fp_;
|
| + uword pc_;
|
| +};
|
| +
|
| +
|
| class IsolateVisitor {
|
| public:
|
| IsolateVisitor() {}
|
| @@ -390,6 +403,9 @@ class Isolate : public BaseIsolate {
|
| return object_id_ring_;
|
| }
|
|
|
| + MallocGrowableArray<PendingLazyDeopt>* pending_deopts() {
|
| + return pending_deopts_;
|
| + }
|
| bool IsDeoptimizing() const { return deopt_context_ != NULL; }
|
| DeoptContext* deopt_context() const { return deopt_context_; }
|
| void set_deopt_context(DeoptContext* value) {
|
| @@ -740,6 +756,7 @@ class Isolate : public BaseIsolate {
|
| Dart_GcPrologueCallback gc_prologue_callback_;
|
| Dart_GcEpilogueCallback gc_epilogue_callback_;
|
| intptr_t defer_finalization_count_;
|
| + MallocGrowableArray<PendingLazyDeopt>* pending_deopts_;
|
| DeoptContext* deopt_context_;
|
|
|
| bool is_service_isolate_;
|
|
|