Chromium Code Reviews| Index: runtime/vm/isolate.h |
| diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h |
| index e5873ea3150eeb38280716c1b91fc364d9217835..72e399908dc2c9c6bdb1a7a30023a5e18e3466a6 100644 |
| --- a/runtime/vm/isolate.h |
| +++ b/runtime/vm/isolate.h |
| @@ -703,6 +703,16 @@ class Isolate : public BaseIsolate { |
| compilation_allowed_ = allowed; |
| } |
| + RawObject* InvokePendingExtensionCalls(); |
| + void AppendExtensionCall(const Instance& closure, |
| + const String& method_name, |
| + const Array& parameter_keys, |
| + const Array& parameter_values, |
| + const Instance& reply_port, |
| + const Instance& id); |
| + void RegisterExtensionHandler(const String& name, const Instance& closure); |
| + RawInstance* LookupExtensionHandler(const String& name); |
| + |
| #if defined(DEBUG) |
| #define REUSABLE_HANDLE_SCOPE_ACCESSORS(object) \ |
| void set_reusable_##object##_handle_scope_active(bool value) { \ |
| @@ -766,6 +776,16 @@ class Isolate : public BaseIsolate { |
| user_tag_ = tag; |
| } |
| + RawGrowableObjectArray* GetAndClearPendingExtensionCalls(); |
| + RawGrowableObjectArray* pending_extension_calls() const { |
| + return pending_extension_calls_; |
| + } |
| + void set_pending_extension_calls(const GrowableObjectArray& value); |
| + RawGrowableObjectArray* registered_extension_handlers() const { |
| + return registered_extension_handlers_; |
| + } |
| + void set_registered_extension_handlers(const GrowableObjectArray& value); |
| + |
| void ClearMutatorThread() { |
| mutator_thread_ = NULL; |
| } |
| @@ -857,6 +877,26 @@ class Isolate : public BaseIsolate { |
| RawGrowableObjectArray* collected_closures_; |
| RawGrowableObjectArray* deoptimized_code_array_; |
| + // We use 6 list entries for each pending service extension calls. |
| + enum { |
| + kPendingHandlerIndex = 0, |
| + kPendingMethodNameIndex, |
| + kPendingKeysIndex, |
| + kPendingValuesIndex, |
| + kPendingReplyPortIndex, |
| + kPendingIdIndex, |
| + kPendingEntrySize |
| + }; |
| + RawGrowableObjectArray* pending_extension_calls_; |
| + |
| + // We use 2 list entries for each register extension handler. |
|
Ivan Posva
2015/08/26 04:47:00
register -> registered
Cutch
2015/08/26 14:28:00
Done.
|
| + enum { |
| + kRegisteredNameIndex = 0, |
| + kRegisteredHandlerIndex, |
| + kRegisteredEntrySize |
| + }; |
| + RawGrowableObjectArray* registered_extension_handlers_; |
| + |
| Metric* metrics_list_head_; |
| Counters counters_; |