| Index: runtime/vm/isolate.h
|
| diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h
|
| index 4180ccee69cd841cc4e768be90334f7ae629d26f..f88bbf21263c1e9455ea5aa7d180f19c2309c69b 100644
|
| --- a/runtime/vm/isolate.h
|
| +++ b/runtime/vm/isolate.h
|
| @@ -10,6 +10,8 @@
|
| #include "vm/atomic.h"
|
| #include "vm/base_isolate.h"
|
| #include "vm/class_table.h"
|
| +#include "vm/exceptions.h"
|
| +#include "vm/fixed_cache.h"
|
| #include "vm/handles.h"
|
| #include "vm/megamorphic_cache_table.h"
|
| #include "vm/metrics.h"
|
| @@ -124,6 +126,10 @@ class NoReloadScope : public StackResource {
|
| };
|
|
|
|
|
| +// Fixed cache for exception handler lookup.
|
| +typedef FixedCache<intptr_t, HandlerInfo, 16> HandlerInfoCache;
|
| +
|
| +
|
| class Isolate : public BaseIsolate {
|
| public:
|
| // Keep both these enums in sync with isolate_patch.dart.
|
| @@ -642,6 +648,8 @@ class Isolate : public BaseIsolate {
|
| return reload_every_n_stack_overflow_checks_;
|
| }
|
|
|
| + HandlerInfoCache* handler_info_cache() { return &handler_info_cache_; }
|
| +
|
| void MaybeIncreaseReloadEveryNStackOverflowChecks();
|
|
|
| private:
|
| @@ -836,6 +844,8 @@ class Isolate : public BaseIsolate {
|
| // Should we pause in the debug message loop after this request?
|
| bool should_pause_post_service_request_;
|
|
|
| + HandlerInfoCache handler_info_cache_;
|
| +
|
| static Dart_IsolateCreateCallback create_callback_;
|
| static Dart_IsolateShutdownCallback shutdown_callback_;
|
|
|
|
|