diff --git a/api/envoy/config/wasm/v2/wasm.proto b/api/envoy/config/wasm/v2/wasm.proto index ba30f0adf9ad..e2a118439186 100644 --- a/api/envoy/config/wasm/v2/wasm.proto +++ b/api/envoy/config/wasm/v2/wasm.proto @@ -18,7 +18,7 @@ message VmConfig { // The Wasm code that Envoy will execute. envoy.api.v2.core.DataSource code = 2; // The Wasm configuration string used on initialization of a new VM. - string initial_configuration = 3; + string configuration = 3; // Allow the wasm_file to include pre-compiled code. bool allow_precompiled = 4; } diff --git a/api/wasm/cpp/proxy_wasm_externs.h b/api/wasm/cpp/proxy_wasm_externs.h index 8179291670e2..cc8193f6c5f4 100644 --- a/api/wasm/cpp/proxy_wasm_externs.h +++ b/api/wasm/cpp/proxy_wasm_externs.h @@ -13,7 +13,8 @@ // Non-stream calls. - extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t root_context_id, uint32_t root_id_ptr, uint32_t root_id_size); + extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t root_context_id, uint32_t root_id_ptr, uint32_t root_id_size, + uint32_t vm_configuration_ptr, uint32_t vm_configuration_size); extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onConfigure(uint32_t root_context_id, uint32_t configuration_ptr, uint32_t configuration_size); extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onTick(uint32_t root_context_id); extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onQueueReady(uint32_t root_context_id, uint32_t token); diff --git a/api/wasm/cpp/proxy_wasm_impl.h b/api/wasm/cpp/proxy_wasm_impl.h index a3ae0ec61886..35aa43d139a9 100644 --- a/api/wasm/cpp/proxy_wasm_impl.h +++ b/api/wasm/cpp/proxy_wasm_impl.h @@ -285,7 +285,7 @@ class RootContext : public ContextBase { // Called once when the VM loads and once when each hook loads and whenever configuration changes. virtual void onConfigure(std::unique_ptr /* configuration */) {} // Called when each hook loads. - virtual void onStart() {} + virtual void onStart(WasmDataPtr /* vm_configuration */) {} // Called when the timer goes off. virtual void onTick() {} // Called when data arrives on a SharedQueue. diff --git a/api/wasm/cpp/proxy_wasm_intrinsics.cc b/api/wasm/cpp/proxy_wasm_intrinsics.cc index 8aa322c3c844..22436882b576 100644 --- a/api/wasm/cpp/proxy_wasm_intrinsics.cc +++ b/api/wasm/cpp/proxy_wasm_intrinsics.cc @@ -97,8 +97,10 @@ RootContext* getRoot(StringView root_id) { return nullptr; } -extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t root_context_id, uint32_t root_id_ptr, uint32_t root_id_size) { - ensureRootContext(root_context_id, std::make_unique(reinterpret_cast(root_id_ptr), root_id_size))->onStart(); +extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t root_context_id, uint32_t root_id_ptr, uint32_t root_id_size, + uint32_t vm_configuration_ptr, uint32_t vm_configuration_size) { + ensureRootContext(root_context_id, std::make_unique(reinterpret_cast(root_id_ptr), root_id_size))->onStart( + std::make_unique(reinterpret_cast(vm_configuration_ptr), vm_configuration_size)); } extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onConfigure(uint32_t root_context_id, uint32_t ptr, uint32_t size) { diff --git a/examples/wasm/envoy_filter_http_wasm_example.cc b/examples/wasm/envoy_filter_http_wasm_example.cc index cfafe1f03eb5..426625591d96 100644 --- a/examples/wasm/envoy_filter_http_wasm_example.cc +++ b/examples/wasm/envoy_filter_http_wasm_example.cc @@ -8,7 +8,7 @@ class ExampleRootContext : public RootContext { public: explicit ExampleRootContext(uint32_t id, StringView root_id) : RootContext(id, root_id) {} - void onStart() override; + void onStart(WasmDataPtr) override; }; class ExampleContext : public Context { @@ -26,7 +26,7 @@ class ExampleContext : public Context { static RegisterContextFactory register_ExampleContext(CONTEXT_FACTORY(ExampleContext), ROOT_FACTORY(ExampleRootContext)); -void ExampleRootContext::onStart() { logTrace("onStart"); } +void ExampleRootContext::onStart(WasmDataPtr) { logTrace("onStart"); } void ExampleContext::onCreate() { logWarn(std::string("onCreate " + std::to_string(id()))); } diff --git a/examples/wasm/envoy_filter_http_wasm_example.wasm b/examples/wasm/envoy_filter_http_wasm_example.wasm index 94247e55d9f0..bf32c3870b04 100644 Binary files a/examples/wasm/envoy_filter_http_wasm_example.wasm and b/examples/wasm/envoy_filter_http_wasm_example.wasm differ diff --git a/examples/wasm/envoy_filter_http_wasm_example.wat b/examples/wasm/envoy_filter_http_wasm_example.wat index f646e96979a3..de46c14a19c1 100644 --- a/examples/wasm/envoy_filter_http_wasm_example.wat +++ b/examples/wasm/envoy_filter_http_wasm_example.wat @@ -53,7 +53,7 @@ (import "env" "__table_base" (global $28 i32)) (import "env" "DYNAMICTOP_PTR" (global $29 i32)) (import "env" "memory" (memory $27 256 256)) - (import "env" "table" (table $26 295 295 funcref)) + (import "env" "table" (table $26 231 231 funcref)) (export "__ZSt18uncaught_exceptionv" (func $__ZSt18uncaught_exceptionv)) (export "___cxa_can_catch" (func $___cxa_can_catch)) (export "___cxa_is_pointer_type" (func $___cxa_is_pointer_type)) @@ -123,26 +123,18 @@ $__ZN6google8protobuf2io17ArrayOutputStream4NextEPPvPi $__ZN6google8protobuf2io20ZeroCopyOutputStream15WriteAliasedRawEPKvi $__ZN6google8protobuf2io18StringOutputStream4NextEPPvPi $___stdio_write $___stdout_write $_sn_write $__ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv $__ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv $b3 $b3 $b4 $__ZNK6google8protobuf2io17ArrayOutputStream9ByteCountEv $__ZNK6google8protobuf2io18StringOutputStream9ByteCountEv $b4 $b5 $___stdio_seek $b6 $__ZN30protobuf_struct_5flite_2eprotoL21InitDefaultsListValueEv $__ZL25default_terminate_handlerv $__ZN6google8protobuf8internal20InitLogSilencerCountEv $__ZN6google8protobuf8internal22DeleteLogSilencerCountEv $__ZN10__cxxabiv112_GLOBAL__N_110construct_Ev $b6 $b6 - $b7 $__ZN11RootContextD2Ev $__ZN18ExampleRootContextD0Ev $__ZN18ExampleRootContext7onStartEv $__ZN11RootContext6onTickEv $__ZN11ContextBaseD2Ev $__ZN14ExampleContextD0Ev $__ZN14ExampleContext8onCreateEv - $__ZN14ExampleContext6onDoneEv $__ZN14ExampleContext5onLogEv $__ZN14ExampleContext8onDeleteEv $__ZN18ExampleRootContextD0Ev $__ZN11RootContext6onTickEv $__ZN14ExampleContextD0Ev $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev - $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev - $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv $__ZN6google8protobuf5ValueD2Ev $__ZN6google8protobuf5ValueD0Ev $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev - $__ZN6google8protobuf6StructD2Ev $__ZN6google8protobuf6StructD0Ev $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN14ExampleContextD0Ev $__ZN11RootContext6onTickEv $__ZN11RootContext6onTickEv $__ZN11RootContext6onTickEv - $__ZN11RootContext6onTickEv $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev - $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN11RootContext6onTickEv $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev - $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv - $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 $b7 $b7 - $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 - $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 - $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 - $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 - $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 - $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 - $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 - $b8 $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE $__ZNKSt3__210__function6__funcI3__1NS_9allocatorIS2_EEFNS_10unique_ptrI11RootContextNS_14default_deleteIS6_EEEEjNS_17basic_string_viewIcNS_11char_traitsIcEEEEEE7__cloneEPNS0_6__baseISE_EE - $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf5Value11GetTypeNameEv $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf9ListValue11GetTypeNameEv - $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double - $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 + $b7 $__ZN11RootContextD2Ev $__ZN18ExampleRootContextD0Ev $__ZN11RootContext6onTickEv $__ZN11ContextBaseD2Ev $__ZN14ExampleContextD0Ev $__ZN14ExampleContext8onCreateEv $__ZN14ExampleContext6onDoneEv + $__ZN14ExampleContext5onLogEv $__ZN14ExampleContext8onDeleteEv $__ZN18ExampleRootContextD0Ev $__ZN14ExampleContextD0Ev $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev + $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv $__ZN6google8protobuf5ValueD2Ev + $__ZN6google8protobuf5ValueD0Ev $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf6StructD2Ev $__ZN6google8protobuf6StructD0Ev + $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN14ExampleContextD0Ev $__ZN11RootContext6onTickEv $__ZN11RootContext6onTickEv $__ZN11RootContext6onTickEv $__ZN11RootContext6onTickEv $__ZN6google8protobuf14FatalExceptionD2Ev + $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev + $__ZN11RootContext6onTickEv $__ZN11RootContext6onTickEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev + $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv + $b8 $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN18ExampleRootContext7onStartENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE + $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE $__ZNKSt3__210__function6__funcI3__1NS_9allocatorIS2_EEFNS_10unique_ptrI11RootContextNS_14default_deleteIS6_EEEEjNS_17basic_string_viewIcNS_11char_traitsIcEEEEEE7__cloneEPNS0_6__baseISE_EE $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf5Value11GetTypeNameEv $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE + $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf9ListValue11GetTypeNameEv $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi + $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double $b8 $b8 $b8 $b8 $b8 $b8 $b9 $__ZN11RootContext13onGrpcReceiveEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $b10 $__ZN11RootContext11onGrpcCloseEj10GrpcStatusNSt3__210unique_ptrI8WasmDataNS1_14default_deleteIS3_EEEE $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEEclEOjOSB_ $__ZNSt3__210__function6__funcI3__1NS_9allocatorIS2_EEFNS_10unique_ptrI11RootContextNS_14default_deleteIS6_EEEEjNS_17basic_string_viewIcNS_11char_traitsIcEEEEEEclEOjOSD_ $__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $b10 $b11 $__ZN11RootContext18onHttpCallResponseEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEES5_S5_ $__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $b11 $b11 $b11 $b12 $__ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $__ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $b13) @@ -255,34 +247,34 @@ "\f0\1a\00\00\b35\00\00\c8\14\00\00\00\00\00\00\f0\1a\00\00\ba6\00\00\c0\14\00\00\00\00\00\00\f0\1a\00\00\ca6\00\00\00\15\00\00\00\00\00\00\f0\1a\00\00\ff6\00\00\d8\14\00\00\00\00\00\00" "\f0\1a\00\00\db6\00\00 \15\00\00\00\00\00\00\f0\1a\00\00!7\00\00\d8\14\00\00\00\00\00\00@\1b\00\00I7\00\00@\1b\00\00K7\00\00\f0\1a\00\00M7\00\00\c8\14") (data $64 $27 (i32.const 5492) - "\88\11\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\02\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\01\00\00\00" - "\01\00\00\00\00\00\00\00\a8\11\00\00\05\00\00\00\06\00\00\00\03\00\00\00\04\00\00\00\01\00\00\00\02\00\00\00\07\00\00\00\05\00\00\00\06\00\00\00\01\00\00\00\07\00\00\00\08\00\00\00\09\00\00\00" - "\02\00\00\00\n\00\00\00\08\00\00\00\09\00\00\00\n\00\00\00\00\00\00\00x\11\00\00\01\00\00\00\0b\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\0c\00\00\00\04\00\00\00" - "\02\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00p\11\00\00\05\00\00\00\0d\00\00\00\0b\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00" - "\c0\11\00\00\0e\00\00\00\0f\00\00\00\0d\00\00\00\06\00\00\00\10\00\00\00\11\00\00\00\02\00\00\00\03\00\00\00\0e\00\00\00\00\00\00\00\e0\11\00\00\12\00\00\00\13\00\00\00\0f\00\00\00\07\00\00\00" - "\14\00\00\00\15\00\00\00\03\00\00\00\04\00\00\00\10\00\00\00\ff\ff\ff\ff\00\00\00\00\01") + "\88\11\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\03\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\01\00\00\00" + "\01\00\00\00\00\00\00\00\a8\11\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\01\00\00\00\02\00\00\00\06\00\00\00\05\00\00\00\06\00\00\00\01\00\00\00\07\00\00\00\08\00\00\00\09\00\00\00" + "\02\00\00\00\n\00\00\00\07\00\00\00\08\00\00\00\09\00\00\00\00\00\00\00x\11\00\00\01\00\00\00\n\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\07\00\00\00\03\00\00\00" + "\03\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00p\11\00\00\04\00\00\00\0b\00\00\00\0b\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00" + "\c0\11\00\00\0c\00\00\00\0d\00\00\00\0d\00\00\00\08\00\00\00\0e\00\00\00\0f\00\00\00\02\00\00\00\03\00\00\00\0e\00\00\00\00\00\00\00\e0\11\00\00\10\00\00\00\11\00\00\00\0f\00\00\00\09\00\00\00" + "\12\00\00\00\13\00\00\00\03\00\00\00\04\00\00\00\10\00\00\00\ff\ff\ff\ff\00\00\00\00\01") (data $65 $27 (i32.const 5852) - "@\12\00\00\16\00\00\00\17\00\00\00\08\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\18\00\00\00\14\00\00\00\09\00\00\00\n\00\00\00\06\00\00\00\15\00\00\00\0b\00\00\00\07\00\00\00" - "\16\00\00\00\03\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\00\00\00\00\a0\12\00\00\19\00\00\00\1a\00\00\00\0c\00\00\00\1a\00\00\00\08\00\00\00\1b\00\00\00\1c\00\00\00\1b\00\00\00\1d\00\00\00" - "\09\00\00\00\0d\00\00\00\09\00\00\00\1e\00\00\00\0e\00\00\00\07\00\00\00\1f\00\00\00\04\00\00\00\17\00\00\00\00\00\00\00 \12\00\00\1c\00\00\00\1d\00\00\00\0f\00\00\00 \00\00\00\n\00\00\00" - "!\00\00\00\"\00\00\00\1e\00\00\00#\00\00\00\09\00\00\00\10\00\00\00\0b\00\00\00$\00\00\00\11\00\00\00\07\00\00\00%\00\00\00\04\00\00\00\17\00\00\00\00\00\00\000\12\00\00\16\00\00\00" - "\1f\00\00\00\08\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\18\00\00\00\14\00\00\00\09\00\00\00\n\00\00\00\06\00\00\00\15\00\00\00\0b\00\00\00\07\00\00\00\16\00\00\00\03\00\00\00" - "\17\00\00\00&\00\00\00'\00\00\00\00\00\00\00p\12\00\00 \00\00\00!\00\00\00\12\00\00\00(\00\00\00\0c\00\00\00)\00\00\00*\00\00\00\"\00\00\00+\00\00\00\09\00\00\00\13\00\00\00" - "\0d\00\00\00,\00\00\00\14\00\00\00\07\00\00\00-\00\00\00\04\00\00\00\17\00\00\00\00\00\00\00`\12\00\00\16\00\00\00#\00\00\00\08\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00" - "\18\00\00\00\14\00\00\00\09\00\00\00\n\00\00\00\06\00\00\00\15\00\00\00\0b\00\00\00\07\00\00\00\16\00\00\00\03\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\00\00\00\00\98\11\00\00\05\00\00\00" - "$\00\00\00\03\00\00\00\04\00\00\00\01\00\00\00\02\00\00\00%\00\00\00.\00\00\00\06\00\00\00\05\00\00\00\07\00\00\00/\00\00\00\09\00\00\00\02\00\00\00\n\00\00\00&\00\00\00'\00\00\00" - "(\00\00\00\00\00\00\00\b0\12\00\00)\00\00\00*\00\00\000\00\00\00\00\00\00\00\d8\12\00\00+\00\00\00,\00\00\00\06\00\00\00\15\00\00\00\01\00\00\00\07\00\00\001\00\00\00\00\00\00\00" - "\e8\12\00\00+\00\00\00-\00\00\00\08\00\00\00\16\00\00\00\02\00\00\00\07\00\00\001") + "@\12\00\00\14\00\00\00\15\00\00\00\n\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\16\00\00\00\14\00\00\00\0b\00\00\00\0c\00\00\00\06\00\00\00\15\00\00\00\0d\00\00\00\07\00\00\00" + "\16\00\00\00\03\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\00\00\00\00\a0\12\00\00\17\00\00\00\18\00\00\00\0e\00\00\00\1a\00\00\00\08\00\00\00\1b\00\00\00\1c\00\00\00\19\00\00\00\1d\00\00\00" + "\0b\00\00\00\0f\00\00\00\09\00\00\00\1e\00\00\00\10\00\00\00\07\00\00\00\1f\00\00\00\04\00\00\00\17\00\00\00\00\00\00\00 \12\00\00\1a\00\00\00\1b\00\00\00\11\00\00\00 \00\00\00\n\00\00\00" + "!\00\00\00\"\00\00\00\1c\00\00\00#\00\00\00\0b\00\00\00\12\00\00\00\0b\00\00\00$\00\00\00\13\00\00\00\07\00\00\00%\00\00\00\04\00\00\00\17\00\00\00\00\00\00\000\12\00\00\14\00\00\00" + "\1d\00\00\00\n\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\16\00\00\00\14\00\00\00\0b\00\00\00\0c\00\00\00\06\00\00\00\15\00\00\00\0d\00\00\00\07\00\00\00\16\00\00\00\03\00\00\00" + "\17\00\00\00&\00\00\00'\00\00\00\00\00\00\00p\12\00\00\1e\00\00\00\1f\00\00\00\14\00\00\00(\00\00\00\0c\00\00\00)\00\00\00*\00\00\00 \00\00\00+\00\00\00\0b\00\00\00\15\00\00\00" + "\0d\00\00\00,\00\00\00\16\00\00\00\07\00\00\00-\00\00\00\04\00\00\00\17\00\00\00\00\00\00\00`\12\00\00\14\00\00\00!\00\00\00\n\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00" + "\16\00\00\00\14\00\00\00\0b\00\00\00\0c\00\00\00\06\00\00\00\15\00\00\00\0d\00\00\00\07\00\00\00\16\00\00\00\03\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\00\00\00\00\98\11\00\00\04\00\00\00" + "\"\00\00\00\03\00\00\00\04\00\00\00\01\00\00\00\02\00\00\00#\00\00\00.\00\00\00\06\00\00\00\05\00\00\00\07\00\00\00/\00\00\00\09\00\00\00\02\00\00\00\n\00\00\00$\00\00\00%\00\00\00" + "&\00\00\00\00\00\00\00\b0\12\00\00'\00\00\00(\00\00\000\00\00\00\00\00\00\00\d8\12\00\00)\00\00\00*\00\00\00\06\00\00\00\17\00\00\00\01\00\00\00\07\00\00\001\00\00\00\00\00\00\00" + "\e8\12\00\00)\00\00\00+\00\00\00\08\00\00\00\18\00\00\00\02\00\00\00\07\00\00\001") (data $66 $27 (i32.const 6529) "\01\00\00\00\09\00\00\00\00\00\00\08\00\00\00\01\00\00\00 \00\00\00\00\10\04\00\00l?\00\00q?\00\00\10\0d\00\00\00\13\00\00\90\13") (data $67 $27 (i32.const 6768) "\fc<") (data $68 $27 (i32.const 6828) - "\b0\14\00\00.\00\00\00/\00\00\003\00\00\00\02\00\00\00\00\00\00\00\c8\14\00\000\00\00\001\00\00\002\00\00\003\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\04\00\00\00\00\00\00\00" - "\f0\14\00\000\00\00\004\00\00\002\00\00\003\00\00\00\0c\00\00\00\02\00\00\00\03\00\00\00\05") + "\b0\14\00\00,\00\00\00-\00\00\003\00\00\00\02\00\00\00\00\00\00\00\c8\14\00\00.\00\00\00/\00\00\000\00\00\001\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\04\00\00\00\00\00\00\00" + "\f0\14\00\00.\00\00\002\00\00\000\00\00\001\00\00\00\0c\00\00\00\02\00\00\00\03\00\00\00\05") (data $69 $27 (i32.const 6933) - "\15\00\005\00\00\006\00\00\004\00\00\00\00\00\00\00\10\15\00\005\00\00\007\00\00\004\00\00\00\00\00\00\00@\15\00\000\00\00\008\00\00\002\00\00\003\00\00\00\0d\00\00\00\00" - "\00\00\00`\15\00\000\00\00\009\00\00\002\00\00\003\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\06\00\00\00onStart\00onCreate \00onReque" + "\15\00\003\00\00\004\00\00\004\00\00\00\00\00\00\00\10\15\00\003\00\00\005\00\00\004\00\00\00\00\00\00\00@\15\00\00.\00\00\006\00\00\000\00\00\001\00\00\00\0d\00\00\00\00" + "\00\00\00`\15\00\00.\00\00\007\00\00\000\00\00\001\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\06\00\00\00onStart\00onCreate \00onReque" "stHeaders \00headers: \00onResponseHeaders \00newheader\00newheadervalue" "\00location\00envoy-wasm\00onRequestBody \00onDone \00onLog \00onDelete \0018E" "xampleRootContext\0011RootContext\0011ContextBase\0014ExampleContext\007" @@ -458,8 +450,9 @@ global.set $31 ) - (func $__ZN18ExampleRootContext7onStartEv (type $0) + (func $__ZN18ExampleRootContext7onStartENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE (type $3) (param $0 i32) + (param $1 i32) global.get $30 local.set $0 global.get $30 @@ -2608,7 +2601,7 @@ local.get $2 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -2655,7 +2648,7 @@ local.get $2 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -2702,7 +2695,7 @@ local.get $2 i32.load i32.load offset=16 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -2714,7 +2707,7 @@ local.get $2 i32.load i32.load offset=20 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -2762,7 +2755,7 @@ local.get $2 i32.load i32.load offset=16 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -2774,7 +2767,7 @@ local.get $2 i32.load i32.load offset=20 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -3059,7 +3052,7 @@ i32.store local.get $1 i32.const 5296 - i32.const 46 + i32.const 44 call $___cxa_throw end ;; $if_8 local.get $0 @@ -3071,7 +3064,7 @@ i32.load offset=24 i32.const 7 i32.and - i32.const 274 + i32.const 210 i32.add call_indirect $26 (type $1) local.get $6 @@ -3268,7 +3261,7 @@ local.set $1 local.get $0 local.get $1 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -3415,7 +3408,7 @@ local.set $1 local.get $0 local.get $1 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -3566,7 +3559,7 @@ local.set $0 local.get $1 local.get $0 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -3717,7 +3710,7 @@ local.set $0 local.get $1 local.get $0 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -3912,7 +3905,7 @@ i32.store local.get $1 i32.const 5296 - i32.const 46 + i32.const 44 call $___cxa_throw end ;; $if_10 local.get $0 @@ -3923,7 +3916,7 @@ i32.load offset=24 i32.const 1 i32.and - i32.const 272 + i32.const 208 i32.add call_indirect $26 (type $2) local.get $7 @@ -4101,7 +4094,7 @@ local.get $1 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) local.get $7 @@ -4274,7 +4267,7 @@ local.get $1 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) local.get $6 @@ -4491,7 +4484,7 @@ i32.store local.get $1 i32.const 5296 - i32.const 46 + i32.const 44 call $___cxa_throw end ;; $if_10 local.get $0 @@ -4502,7 +4495,7 @@ i32.load offset=24 i32.const 1 i32.and - i32.const 272 + i32.const 208 i32.add call_indirect $26 (type $2) local.get $7 @@ -4681,7 +4674,7 @@ local.get $1 i32.const 1 i32.and - i32.const 272 + i32.const 208 i32.add call_indirect $26 (type $2) local.get $7 @@ -5129,7 +5122,7 @@ i32.store local.get $2 i32.const 5392 - i32.const 53 + i32.const 51 call $___cxa_throw else local.get $4 @@ -5533,7 +5526,7 @@ local.get $0 i32.load i32.load offset=16 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -5545,7 +5538,7 @@ local.get $0 i32.load i32.load offset=20 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -5900,7 +5893,7 @@ local.get $0 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -5954,7 +5947,7 @@ local.get $7 i32.const 1 i32.and - i32.const 272 + i32.const 208 i32.add call_indirect $26 (type $2) local.get $5 @@ -6472,7 +6465,7 @@ local.set $3 local.get $1 local.get $3 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -6486,7 +6479,7 @@ local.set $3 local.get $1 local.get $3 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -6505,7 +6498,7 @@ local.set $2 local.get $1 local.get $2 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -6527,7 +6520,7 @@ local.set $2 local.get $1 local.get $2 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -6604,13 +6597,13 @@ i64.const 16 local.get $2 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_2 end ;; $if_1 local.get $2 i32.const 16 - i32.const 58 + i32.const 56 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i64.const 0 @@ -6704,13 +6697,13 @@ i64.const 16 local.get $1 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_2 end ;; $if_1 local.get $1 i32.const 16 - i32.const 59 + i32.const 57 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 local.get $2 @@ -6749,7 +6742,7 @@ i32.store i32.const 15272 call $__ZN6google8protobuf6StructC2Ev - i32.const 60 + i32.const 58 i32.const 15272 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15304 @@ -6769,12 +6762,12 @@ i32.const 15324 i32.const 0 i32.store - i32.const 60 + i32.const 58 i32.const 15304 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15360 call $__ZN6google8protobuf9ListValueC2Ev - i32.const 60 + i32.const 58 i32.const 15360 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15256 @@ -6923,7 +6916,7 @@ local.get $4 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -8206,7 +8199,7 @@ i64.const 32 local.get $2 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_3 end ;; $if_2 @@ -8253,7 +8246,7 @@ local.get $3 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -8395,7 +8388,7 @@ local.get $1 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -9486,7 +9479,7 @@ local.get $0 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -9541,7 +9534,7 @@ local.get $1 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -10295,7 +10288,7 @@ i64.const 24 local.get $0 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_1 end ;; $if_0 @@ -11152,7 +11145,7 @@ local.get $1 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -11187,7 +11180,7 @@ i64.const 32 local.get $0 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_1 end ;; $if_0 @@ -11467,7 +11460,7 @@ local.get $0 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -11610,7 +11603,7 @@ i64.const 32 local.get $0 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_1 end ;; $if_0 @@ -11964,7 +11957,7 @@ local.set $2 local.get $3 local.get $2 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -12294,7 +12287,7 @@ local.set $2 local.get $3 local.get $2 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -12500,7 +12493,7 @@ i64.const 24 local.get $0 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_1 end ;; $if_0 @@ -12844,7 +12837,7 @@ local.set $0 local.get $4 local.get $0 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -15172,7 +15165,7 @@ i64.const 24 local.get $3 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_7 end ;; $if_6 @@ -15262,7 +15255,7 @@ i64.const 40 local.get $2 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_2 end ;; $if_1 @@ -15875,7 +15868,7 @@ i64.const 16 local.get $2 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_2 end ;; $if_1 @@ -16307,7 +16300,7 @@ i64.const 24 local.get $2 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_2 end ;; $if_1 @@ -17006,7 +16999,7 @@ i64.const 24 local.get $1 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_2 end ;; $if_1 @@ -17582,7 +17575,7 @@ i64.extend_i32_u local.get $0 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_3 end ;; $if_2 @@ -17841,13 +17834,13 @@ i64.const 24 local.get $1 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_1 end ;; $if_0 local.get $1 i32.const 24 - i32.const 61 + i32.const 59 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i32.const 0 @@ -18673,7 +18666,7 @@ i64.const 32 local.get $4 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_3 end ;; $if_2 @@ -18716,7 +18709,7 @@ local.get $3 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -18778,7 +18771,7 @@ local.get $3 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -18882,7 +18875,7 @@ i64.const 32 local.get $5 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_10 end ;; $if_9 @@ -18925,7 +18918,7 @@ local.get $3 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -18986,7 +18979,7 @@ local.get $3 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -22700,7 +22693,7 @@ local.get $5 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) local.get $3 @@ -22794,7 +22787,7 @@ local.get $6 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -22991,7 +22984,7 @@ i32.store local.get $1 i32.const 5296 - i32.const 46 + i32.const 44 call $___cxa_throw end ;; $if_8 local.get $5 @@ -23003,7 +22996,7 @@ i32.load offset=24 i32.const 7 i32.and - i32.const 274 + i32.const 210 i32.add call_indirect $26 (type $1) local.get $5 @@ -23024,7 +23017,7 @@ local.get $0 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -23041,7 +23034,7 @@ local.get $0 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -23110,7 +23103,7 @@ local.get $0 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -23147,7 +23140,7 @@ local.get $0 i32.load i32.load offset=24 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -23174,7 +23167,7 @@ local.set $1 local.get $0 local.get $1 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -23202,7 +23195,7 @@ local.set $3 local.get $2 local.get $3 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -23227,7 +23220,7 @@ local.set $1 local.get $0 local.get $1 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -23273,7 +23266,7 @@ local.get $7 i32.const 7 i32.and - i32.const 274 + i32.const 210 i32.add call_indirect $26 (type $1) local.get $5 @@ -23313,7 +23306,7 @@ local.get $2 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) ) @@ -23355,7 +23348,7 @@ local.get $6 i32.const 1 i32.and - i32.const 272 + i32.const 208 i32.add call_indirect $26 (type $2) local.get $4 @@ -23395,7 +23388,7 @@ local.get $2 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) ) @@ -23415,7 +23408,7 @@ local.get $2 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) ) @@ -23495,7 +23488,7 @@ local.get $12 i32.const 7 i32.and - i32.const 282 + i32.const 218 i32.add call_indirect $26 (type $7) local.get $8 @@ -23561,7 +23554,7 @@ local.set $1 local.get $0 local.get $1 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -23583,7 +23576,7 @@ local.get $2 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) ) @@ -23740,12 +23733,12 @@ call_indirect $26 (type $4) ) - (func $_proxy_onStart (type $2) + (func $_proxy_onStart (type $7) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -23754,229 +23747,226 @@ (local $10 i32) (local $11 i32) (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) global.get $30 - local.set $8 + local.set $7 global.get $30 i32.const 32 i32.add global.set $30 - local.get $8 - i32.const 24 + local.get $7 + i32.const 28 i32.add local.set $9 - local.get $8 - i32.const 12 + local.get $7 + i32.const 16 i32.add - local.set $3 - local.get $8 + local.set $6 + local.get $7 i32.const 8 i32.add - local.set $10 + local.set $11 + local.get $7 + i32.const 12 + i32.add + local.set $12 i32.const 8 call $__Znwm - local.tee $7 + local.tee $8 local.get $1 i32.store - local.get $7 + local.get $8 local.get $2 i32.store offset=4 + local.get $1 + local.set $13 block $block - i32.const 15436 - i32.load - local.tee $4 - if $if + block $block_0 + i32.const 15436 + i32.load + local.tee $5 + i32.eqz + br_if $block_0 i32.const 15432 i32.load - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const -1 i32.add - local.tee $6 + local.tee $10 i32.and i32.eqz - local.tee $11 - if $if_0 (result i32) + local.tee $14 + if $if (result i32) local.get $0 - local.get $6 + local.get $10 i32.and else - local.get $4 + local.get $5 local.get $0 i32.gt_u - if $if_1 (result i32) + if $if_0 (result i32) local.get $0 else - local.get $4 - if $if_2 (result i32) + local.get $5 + if $if_1 (result i32) local.get $0 - local.get $4 + local.get $5 i32.rem_u else i32.const 0 - end ;; $if_2 - end ;; $if_1 - end ;; $if_0 - local.tee $12 + end ;; $if_1 + end ;; $if_0 + end ;; $if + local.tee $15 i32.const 2 i32.shl i32.add i32.load - local.tee $5 - if $if_3 - local.get $5 - i32.load - local.tee $5 - if $if_4 - block $block_0 - block $block_1 - local.get $11 - if $if_5 - loop $loop - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $4 - i32.eq - local.tee $11 - local.get $4 - local.get $6 - i32.and - local.get $12 - i32.eq - i32.or - i32.eqz - br_if $block_0 - local.get $11 - if $if_6 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - end ;; $if_6 - local.get $5 - i32.load - local.tee $5 - br_if $loop - br $block_0 - unreachable - end ;; $loop - unreachable - else - loop $loop_0 - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $6 - i32.eq - if $if_7 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - else - local.get $6 - local.get $4 - i32.ge_u - if $if_8 (result i32) - local.get $4 - if $if_9 (result i32) - local.get $6 - local.get $4 - i32.rem_u - else - i32.const 0 - end ;; $if_9 - else - local.get $6 - end ;; $if_8 - local.get $12 - i32.ne - br_if $block_0 - end ;; $if_7 - local.get $5 - i32.load - local.tee $5 - br_if $loop_0 - br $block_0 - unreachable - end ;; $loop_0 - unreachable - end ;; $if_5 - unreachable - end ;; $block_1 - local.get $5 - i32.load offset=12 - local.tee $0 - i32.load - i32.load offset=8 - local.set $1 + local.tee $1 + i32.eqz + br_if $block_0 + local.get $1 + i32.load + local.tee $1 + i32.eqz + br_if $block_0 + block $block_1 + local.get $14 + if $if_2 + loop $loop local.get $0 local.get $1 - i32.const 63 + i32.load offset=4 + local.tee $5 + i32.eq + local.tee $14 + local.get $5 + local.get $10 i32.and - call_indirect $26 (type $4) - local.tee $0 + local.get $15 + i32.eq + i32.or + i32.eqz + br_if $block_0 + local.get $14 + if $if_3 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + end ;; $if_3 + local.get $1 i32.load - i32.load offset=28 - local.set $1 + local.tee $1 + br_if $loop + br $block_0 + unreachable + end ;; $loop + unreachable + else + loop $loop_0 local.get $0 local.get $1 - i32.const 127 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) - br $block - end ;; $block_0 - end ;; $if_4 - end ;; $if_3 - end ;; $if - local.get $1 - local.set $4 + i32.load offset=4 + local.tee $10 + i32.eq + if $if_4 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + else + local.get $10 + local.get $5 + i32.ge_u + if $if_5 (result i32) + local.get $5 + if $if_6 (result i32) + local.get $10 + local.get $5 + i32.rem_u + else + i32.const 0 + end ;; $if_6 + else + local.get $10 + end ;; $if_5 + local.get $15 + i32.ne + br_if $block_0 + end ;; $if_4 + local.get $1 + i32.load + local.tee $1 + br_if $loop_0 + br $block_0 + unreachable + end ;; $loop_0 + unreachable + end ;; $if_2 + unreachable + end ;; $block_1 + local.get $1 + i32.load offset=12 + local.tee $0 + i32.load + i32.load offset=8 + local.set $1 + local.get $0 + local.get $1 + i32.const 63 + i32.and + call_indirect $26 (type $4) + local.set $0 + br $block + end ;; $block_0 i32.const 15472 i32.load i32.eqz - if $if_10 + if $if_7 i32.const 160 call $__Znwm - local.tee $3 + local.tee $5 i64.const 0 i64.store offset=4 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=12 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=20 - local.get $3 + local.get $5 i64.const 0 i64.store offset=24 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=32 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=40 - local.get $3 + local.get $5 i64.const 0 i64.store offset=44 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=52 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=60 - local.get $3 + local.get $5 i32.const -64 i32.sub local.get $0 i32.store - local.get $3 + local.get $5 i32.const 5648 i32.store - local.get $3 + local.get $5 i32.const 68 i32.add local.tee $1 @@ -23988,16 +23978,16 @@ local.get $2 i32.const -17 i32.gt_u - if $if_11 + if $if_8 call $_abort - end ;; $if_11 + end ;; $if_8 block $block_2 block $block_3 local.get $2 i32.const 11 i32.lt_u - if $if_12 - local.get $3 + if $if_9 + local.get $5 local.get $2 i32.store8 offset=79 local.get $2 @@ -24013,20 +24003,20 @@ call $__Znwm local.tee $1 i32.store - local.get $3 + local.get $5 local.get $6 i32.const -2147483648 i32.or i32.store offset=76 - local.get $3 + local.get $5 local.get $2 i32.store offset=72 br $block_3 - end ;; $if_12 + end ;; $if_9 br $block_2 end ;; $block_3 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -24036,40 +24026,40 @@ i32.add i32.const 0 i32.store8 - local.get $3 + local.get $5 i64.const 0 i64.store offset=80 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=88 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=96 - local.get $3 + local.get $5 i64.const 0 i64.store offset=100 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=108 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=116 - local.get $3 + local.get $5 i64.const 0 i64.store offset=120 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=128 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=136 - local.get $3 + local.get $5 i64.const 0 i64.store offset=140 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=148 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=156 local.get $9 @@ -24081,86 +24071,79 @@ i32.load local.set $0 local.get $1 - local.get $3 + local.get $5 i32.store local.get $0 - if $if_13 + if $if_10 local.get $0 local.get $0 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_13 - local.get $3 - local.get $3 - i32.load - i32.load offset=28 - i32.const 127 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) + end ;; $if_10 + local.get $5 + local.set $0 br $block - end ;; $if_10 - local.get $3 + end ;; $if_7 + local.get $6 i64.const 0 i64.store align=4 - local.get $3 + local.get $6 i32.const 0 i32.store offset=8 local.get $2 i32.const -17 i32.gt_u - if $if_14 + if $if_11 call $_abort - end ;; $if_14 + end ;; $if_11 block $block_4 block $block_5 local.get $2 i32.const 11 i32.lt_u - if $if_15 (result i32) - local.get $3 + if $if_12 (result i32) + local.get $6 local.get $2 i32.store8 offset=11 local.get $2 - if $if_16 (result i32) - local.get $3 + if $if_13 (result i32) + local.get $6 local.set $1 br $block_5 else - local.get $3 - end ;; $if_16 + local.get $6 + end ;; $if_13 else - local.get $3 + local.get $6 local.get $2 i32.const 16 i32.add i32.const -16 i32.and - local.tee $6 + local.tee $5 call $__Znwm local.tee $1 i32.store - local.get $3 local.get $6 + local.get $5 i32.const -2147483648 i32.or i32.store offset=8 - local.get $3 + local.get $6 local.get $2 i32.store offset=4 br $block_5 - end ;; $if_15 + end ;; $if_12 local.set $1 br $block_4 end ;; $block_5 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -24172,18 +24155,18 @@ i32.store8 i32.const 15472 i32.load - local.get $3 + local.get $6 call $__ZNSt3__212__hash_tableINS_17__hash_value_typeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_8functionIFNS_10unique_ptrI11RootContextNS_14default_deleteISA_EEEEjNS_17basic_string_viewIcS4_EEEEEEENS_22__unordered_map_hasherIS7_SI_NS_4hashIS7_EELb1EEENS_21__unordered_map_equalIS7_SI_NS_8equal_toIS7_EELb1EEENS5_ISI_EEE4findIS7_EENS_15__hash_iteratorIPNS_11__hash_nodeISI_PvEEEERKT_ local.tee $1 - if $if_17 (result i32) - local.get $7 + if $if_14 (result i32) + local.get $8 i32.load offset=4 local.set $2 - local.get $8 local.get $7 + local.get $8 i32.load i32.store - local.get $8 + local.get $7 local.get $2 i32.store offset=4 local.get $9 @@ -24193,7 +24176,7 @@ i32.load offset=40 local.tee $1 i32.eqz - if $if_18 + if $if_15 i32.const 4 call $___cxa_allocate_exception local.tee $2 @@ -24201,22 +24184,22 @@ i32.store local.get $2 i32.const 5296 - i32.const 46 + i32.const 44 call $___cxa_throw - end ;; $if_18 - local.get $10 + end ;; $if_15 + local.get $11 local.get $1 local.get $9 - local.get $8 + local.get $7 local.get $1 i32.load i32.load offset=24 i32.const 7 i32.and - i32.const 274 + i32.const 210 i32.add call_indirect $26 (type $1) - local.get $10 + local.get $11 i32.load local.tee $1 i32.load @@ -24228,7 +24211,7 @@ i32.and call_indirect $26 (type $4) local.set $1 - local.get $3 + local.get $6 call $__ZNSt3__213unordered_mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEP11RootContextNS_4hashIS6_EENS_8equal_toIS6_EENS4_INS_4pairIKS6_S8_EEEEEixERSE_ local.get $1 i32.store @@ -24238,56 +24221,56 @@ local.get $9 call $__ZNSt3__213unordered_mapIiNS_10unique_ptrI11ContextBaseNS_14default_deleteIS2_EEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEEixEOi local.set $2 - local.get $10 + local.get $11 i32.load - local.set $4 - local.get $10 + local.set $5 + local.get $11 i32.const 0 i32.store local.get $2 i32.load local.set $0 local.get $2 - local.get $4 + local.get $5 i32.store local.get $0 - if $if_19 + if $if_16 local.get $0 local.get $0 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_19 - local.get $10 + end ;; $if_16 + local.get $11 i32.load local.set $0 - local.get $10 + local.get $11 i32.const 0 i32.store local.get $0 - if $if_20 + if $if_17 local.get $0 local.get $0 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_20 + end ;; $if_17 local.get $1 else - local.get $7 + local.get $8 i32.load - local.set $6 - local.get $7 + local.set $10 + local.get $8 i32.load offset=4 - local.set $4 + local.set $5 i32.const 160 call $__Znwm local.tee $2 @@ -24334,54 +24317,54 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $4 + local.get $5 i32.const -17 i32.gt_u - if $if_21 + if $if_18 call $_abort - end ;; $if_21 + end ;; $if_18 block $block_6 block $block_7 - local.get $4 + local.get $5 i32.const 11 i32.lt_u - if $if_22 + if $if_19 local.get $2 - local.get $4 + local.get $5 i32.store8 offset=79 - local.get $4 + local.get $5 br_if $block_7 else local.get $1 - local.get $4 + local.get $5 i32.const 16 i32.add i32.const -16 i32.and - local.tee $5 + local.tee $13 call $__Znwm local.tee $1 i32.store local.get $2 - local.get $5 + local.get $13 i32.const -2147483648 i32.or i32.store offset=76 local.get $2 - local.get $4 + local.get $5 i32.store offset=72 br $block_7 - end ;; $if_22 + end ;; $if_19 br $block_6 end ;; $block_7 local.get $1 - local.get $6 - local.get $4 + local.get $10 + local.get $5 call $_memcpy drop end ;; $block_6 local.get $1 - local.get $4 + local.get $5 i32.add i32.const 0 i32.store8 @@ -24433,53 +24416,82 @@ local.get $2 i32.store local.get $0 - if $if_23 + if $if_20 local.get $0 local.get $0 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_23 + end ;; $if_20 local.get $2 - end ;; $if_17 + end ;; $if_14 local.set $0 - local.get $3 + local.get $6 i32.load8_s offset=11 i32.const 0 i32.lt_s - if $if_24 - local.get $3 + if $if_21 + local.get $6 i32.load call $_free - end ;; $if_24 - local.get $0 - local.get $0 - i32.load - i32.load offset=28 - i32.const 127 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) - local.get $7 + end ;; $if_21 + end ;; $block + local.get $0 + i32.load + i32.load offset=28 + local.set $2 + i32.const 8 + call $__Znwm + local.tee $1 + local.get $3 + i32.store + local.get $1 + local.get $4 + i32.store offset=4 + local.get $12 + local.get $1 + i32.store + local.get $0 + local.get $12 + local.get $2 + i32.const 31 + i32.and + i32.const 176 + i32.add + call_indirect $26 (type $3) + local.get $12 + i32.load + local.set $0 + local.get $12 + i32.const 0 + i32.store + local.get $0 + i32.eqz + if $if_22 + local.get $8 i32.load call $_free - local.get $7 - call $_free local.get $8 + call $_free + local.get $7 global.set $30 return - end ;; $block - local.get $7 + end ;; $if_22 + local.get $0 i32.load call $_free - local.get $7 + local.get $0 + call $_free + local.get $8 + i32.load call $_free local.get $8 + call $_free + local.get $7 global.set $30 ) @@ -24494,7 +24506,7 @@ local.set $1 local.get $0 local.get $1 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -26306,7 +26318,7 @@ i32.store local.get $1 i32.const 5392 - i32.const 53 + i32.const 51 call $___cxa_throw end ;; $if_1 local.get $0 @@ -26853,7 +26865,7 @@ i32.store local.get $1 i32.const 5392 - i32.const 53 + i32.const 51 call $___cxa_throw end ;; $if_1 local.get $0 @@ -27679,7 +27691,7 @@ local.get $2 i32.load i32.load offset=4 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -28184,7 +28196,7 @@ i32.load offset=12 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) else @@ -28222,7 +28234,7 @@ local.get $0 i32.load i32.load offset=16 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -28234,7 +28246,7 @@ local.get $0 i32.load i32.load offset=20 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -28362,7 +28374,7 @@ i32.load offset=12 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) else @@ -28400,7 +28412,7 @@ local.get $0 i32.load i32.load offset=16 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -28412,7 +28424,7 @@ local.get $0 i32.load i32.load offset=20 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -29182,7 +29194,7 @@ local.get $3 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) local.get $0 @@ -29193,7 +29205,7 @@ local.set $3 local.get $2 local.get $3 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -29212,7 +29224,7 @@ local.get $3 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) local.get $1 @@ -29223,7 +29235,7 @@ local.set $3 local.get $2 local.get $3 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -29243,7 +29255,7 @@ local.get $0 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) local.get $4 @@ -29252,7 +29264,7 @@ local.set $0 local.get $4 local.get $0 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -29267,7 +29279,7 @@ local.get $3 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) local.get $0 @@ -29278,7 +29290,7 @@ local.set $3 local.get $2 local.get $3 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -29309,7 +29321,7 @@ local.get $3 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) local.get $1 @@ -29320,7 +29332,7 @@ local.set $3 local.get $2 local.get $3 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -29516,7 +29528,7 @@ i32.store local.get $2 i32.const 5392 - i32.const 53 + i32.const 51 call $___cxa_throw end ;; $if_1 local.get $1 @@ -30053,7 +30065,7 @@ call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_ local.get $2 i32.const 4784 - i32.const 41 + i32.const 39 call $___cxa_throw else local.get $1 @@ -30080,7 +30092,7 @@ i32.const 15484 local.get $0 i32.store - i32.const 63 + i32.const 61 i32.const 4 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -30333,7 +30345,7 @@ i32.store local.get $3 i32.const 5392 - i32.const 53 + i32.const 51 call $___cxa_throw else local.get $2 @@ -31471,14 +31483,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 59 + i32.const 57 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 59 + i32.const 57 i32.store offset=4 local.get $2 local.get $0 @@ -31527,14 +31539,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 59 + i32.const 57 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 59 + i32.const 57 i32.store offset=4 local.get $2 local.get $0 @@ -31553,7 +31565,7 @@ local.set $1 local.get $0 local.get $1 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -41630,7 +41642,7 @@ i32.load offset=16 i32.const 7 i32.and - i32.const 282 + i32.const 218 i32.add call_indirect $26 (type $7) local.get $6 @@ -41813,7 +41825,7 @@ i32.const 15408 i32.const 0 i32.store - i32.const 64 + i32.const 62 i32.const 15400 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ end ;; $if_5 @@ -42066,7 +42078,7 @@ i32.load offset=52 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) local.get $3 @@ -42222,7 +42234,7 @@ i64.extend_i32_u local.get $1 i32.load offset=60 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) end ;; $if_3 end ;; $if_2 @@ -44330,7 +44342,7 @@ local.get $0 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) return @@ -44403,7 +44415,7 @@ local.get $0 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) ) @@ -44585,7 +44597,7 @@ i32.load offset=52 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) ) @@ -47147,7 +47159,7 @@ local.get $3 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) local.get $0 @@ -47332,7 +47344,7 @@ local.get $4 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) local.get $0 @@ -53476,7 +53488,7 @@ end ;; $block_0 local.get $0 local.get $2 - i32.const 263 + i32.const 201 call_indirect $26 (type $3) end ;; $block end ;; $if @@ -61520,7 +61532,7 @@ i32.const 1 i32.store local.get $0 - i32.const 174 + i32.const 172 call_indirect $26 (type $0) i32.const 15480 i32.const -1 @@ -63425,7 +63437,7 @@ i32.load offset=28 i32.const 7 i32.and - i32.const 274 + i32.const 210 i32.add call_indirect $26 (type $1) local.get $3 @@ -63801,7 +63813,7 @@ i32.load offset=20 i32.const 3 i32.and - i32.const 290 + i32.const 226 i32.add call_indirect $26 (type $13) local.get $5 @@ -63823,7 +63835,7 @@ i32.load offset=24 i32.const 7 i32.and - i32.const 282 + i32.const 218 i32.add call_indirect $26 (type $7) block $block_0 @@ -63925,7 +63937,7 @@ local.get $6 i32.const 3 i32.and - i32.const 290 + i32.const 226 i32.add call_indirect $26 (type $13) end ;; $if @@ -63979,7 +63991,7 @@ local.get $5 i32.const 7 i32.and - i32.const 282 + i32.const 218 i32.add call_indirect $26 (type $7) br $block @@ -64023,7 +64035,7 @@ local.get $3 i32.const 3 i32.and - i32.const 290 + i32.const 226 i32.add call_indirect $26 (type $13) local.get $1 @@ -64120,7 +64132,7 @@ local.get $4 i32.const 7 i32.and - i32.const 274 + i32.const 210 i32.add call_indirect $26 (type $1) end ;; $if @@ -64801,7 +64813,7 @@ local.get $6 i32.const 7 i32.and - i32.const 274 + i32.const 210 i32.add call_indirect $26 (type $1) ) @@ -64855,7 +64867,7 @@ local.get $8 i32.const 3 i32.and - i32.const 290 + i32.const 226 i32.add call_indirect $26 (type $13) ) @@ -64907,7 +64919,7 @@ local.get $7 i32.const 7 i32.and - i32.const 282 + i32.const 218 i32.add call_indirect $26 (type $7) ) @@ -65540,7 +65552,7 @@ (param $1 i32) local.get $1 local.get $0 - i32.const 127 + i32.const 63 i32.and i32.const 112 i32.add @@ -65556,7 +65568,7 @@ local.get $0 i32.const 31 i32.and - i32.const 240 + i32.const 176 i32.add call_indirect $26 (type $3) ) @@ -65572,7 +65584,7 @@ local.get $0 i32.const 1 i32.and - i32.const 272 + i32.const 208 i32.add call_indirect $26 (type $2) ) @@ -65590,7 +65602,7 @@ local.get $0 i32.const 7 i32.and - i32.const 274 + i32.const 210 i32.add call_indirect $26 (type $1) ) @@ -65610,7 +65622,7 @@ local.get $0 i32.const 7 i32.and - i32.const 282 + i32.const 218 i32.add call_indirect $26 (type $7) ) @@ -65632,7 +65644,7 @@ local.get $0 i32.const 3 i32.and - i32.const 290 + i32.const 226 i32.add call_indirect $26 (type $13) ) @@ -65827,9 +65839,9 @@ i64.shl i64.or local.get $4 - i32.const 294 + i32.const 230 call_indirect $26 (type $9) ) ;; User section "emscripten_metadata": - ;; "\00\01\00\03\80\02\a7\02\80\08\d0\88\c1\02\b0\88\01\c0\88\01" + ;; "\00\01\00\03\80\02\e7\01\80\08\d0\88\c1\02\b0\88\01\c0\88\01" ) \ No newline at end of file diff --git a/source/extensions/common/wasm/null/null.cc b/source/extensions/common/wasm/null/null.cc index ccfa931bce7e..bf2b22e5c62b 100644 --- a/source/extensions/common/wasm/null/null.cc +++ b/source/extensions/common/wasm/null/null.cc @@ -236,13 +236,6 @@ void NullVm::getFunction(absl::string_view functionName, WasmCall3Void* f) { SaveRestoreContext saved_context(context); plugin->onConfigure(context_id.u64, ptr.u64, size.u64); }; - } else if (functionName == "_proxy_onStart") { - auto plugin = plugin_.get(); - *f = [plugin](Common::Wasm::Context* context, Word context_id, Word root_id_ptr, - Word root_id_size) { - SaveRestoreContext saved_context(context); - plugin->onStart(context_id.u64, root_id_ptr.u64, root_id_size.u64); - }; } else { throw WasmVmException(fmt::format("Missing getFunction for: {}", functionName)); } @@ -270,6 +263,14 @@ void NullVm::getFunction(absl::string_view functionName, WasmCall5Void* f) { plugin->onGrpcClose(context_id.u64, token.u64, status_code.u64, status_message_ptr.u64, status_message_size.u64); }; + } else if (functionName == "_proxy_onStart") { + auto plugin = plugin_.get(); + *f = [plugin](Common::Wasm::Context* context, Word context_id, Word root_id_ptr, + Word root_id_size, Word vm_configuration_ptr, Word vm_configuration_size) { + SaveRestoreContext saved_context(context); + plugin->onStart(context_id.u64, root_id_ptr.u64, root_id_size.u64, vm_configuration_ptr.u64, + vm_configuration_size.u64); + }; } else { throw WasmVmException(fmt::format("Missing getFunction for: {}", functionName)); } @@ -428,10 +429,12 @@ Plugin::RootContext* NullVmPlugin::getRoot(absl::string_view root_id) { return it->second; } -void NullVmPlugin::onStart(uint64_t root_context_id, uint64_t root_id_ptr, uint64_t root_id_size) { +void NullVmPlugin::onStart(uint64_t root_context_id, uint64_t root_id_ptr, uint64_t root_id_size, + uint64_t vm_configuration_ptr, uint64_t vm_configuration_size) { ensureRootContext(root_context_id, std::make_unique(reinterpret_cast(root_id_ptr), root_id_size)) - ->onStart(); + ->onStart(std::make_unique(reinterpret_cast(vm_configuration_ptr), + vm_configuration_size)); } void NullVmPlugin::onConfigure(uint64_t root_context_id, uint64_t ptr, uint64_t size) { diff --git a/source/extensions/common/wasm/null/null.h b/source/extensions/common/wasm/null/null.h index 0c47bf50e0c3..25cba9c25bd7 100644 --- a/source/extensions/common/wasm/null/null.h +++ b/source/extensions/common/wasm/null/null.h @@ -53,7 +53,8 @@ class NullVmPlugin { NullVmPlugin(const NullVmPlugin& other) : registry_(other.registry_) {} void start() {} - void onStart(uint64_t root_context_id, uint64_t root_id_ptr, uint64_t root_id_size); + void onStart(uint64_t root_context_id, uint64_t root_id_ptr, uint64_t root_id_size, + uint64_t vm_configuration_ptr, uint64_t vm_configuration_size); void onConfigure(uint64_t root_context_id, uint64_t ptr, uint64_t size); void onTick(uint64_t root_context_id); void onQueueReady(uint64_t root_context_id, uint64_t token); diff --git a/source/extensions/common/wasm/wasm.cc b/source/extensions/common/wasm/wasm.cc index bf43230d38ac..33e9b693270c 100644 --- a/source/extensions/common/wasm/wasm.cc +++ b/source/extensions/common/wasm/wasm.cc @@ -1444,10 +1444,11 @@ bool Context::isSsl() { return decoder_callbacks_->connection()->ssl() != nullpt // // Calls into the WASM code. // -void Context::onStart(absl::string_view root_id) { +void Context::onStart(absl::string_view root_id, absl::string_view vm_configuration) { if (wasm_->onStart_) { auto root_id_addr = wasm_->copyString(root_id); - wasm_->onStart_(this, id_, root_id_addr, root_id.size()); + auto config_addr = wasm_->copyString(vm_configuration); + wasm_->onStart_(this, id_, root_id_addr, root_id.size(), config_addr, vm_configuration.size()); } } @@ -1688,14 +1689,14 @@ uint64_t Context::getMetric(uint32_t metric_id) { return 0; } -Wasm::Wasm(absl::string_view vm, absl::string_view id, absl::string_view initial_configuration, +Wasm::Wasm(absl::string_view vm, absl::string_view id, absl::string_view vm_configuration, Upstream::ClusterManager& cluster_manager, Event::Dispatcher& dispatcher, Stats::Scope& scope, const LocalInfo::LocalInfo& local_info, const envoy::api::v2::core::Metadata* listener_metadata, Stats::ScopeSharedPtr owned_scope) : cluster_manager_(cluster_manager), dispatcher_(dispatcher), scope_(scope), local_info_(local_info), listener_metadata_(listener_metadata), owned_scope_(owned_scope), - time_source_(dispatcher.timeSource()), initial_configuration_(initial_configuration) { + time_source_(dispatcher.timeSource()), vm_configuration_(vm_configuration) { wasm_vm_ = Common::Wasm::createWasmVm(vm); id_ = std::string(id); } @@ -1928,16 +1929,16 @@ void Wasm::configure(Context* root_context, absl::string_view configuration) { } } -Context* Wasm::start(absl::string_view root_id) { +Context* Wasm::start(absl::string_view root_id, absl::string_view vm_configuration) { auto it = root_contexts_.find(root_id); if (it != root_contexts_.end()) { - it->second->onStart(root_id); + it->second->onStart(root_id, vm_configuration); return it->second.get(); } auto context = std::make_unique(this, root_id); auto context_ptr = context.get(); root_contexts_[root_id] = std::move(context); - context_ptr->onStart(root_id); + context_ptr->onStart(root_id, vm_configuration); return context_ptr; }; @@ -1950,7 +1951,7 @@ void Wasm::startForTesting(std::unique_ptr context) { contexts_[context->id_] = context.get(); } root_contexts_[""] = std::move(context); - context_ptr->onStart(""); + context_ptr->onStart("", ""); } void Wasm::setTickPeriod(uint32_t context_id, std::chrono::milliseconds new_tick_period) { @@ -2297,9 +2298,9 @@ createWasmInternal(absl::string_view vm_id, const envoy::config::wasm::v2::VmCon const envoy::api::v2::core::Metadata* listener_metadata, Stats::ScopeSharedPtr scope_ptr, std::unique_ptr root_context_for_testing) { - auto wasm = std::make_shared(vm_config.vm(), vm_id, vm_config.initial_configuration(), - cluster_manager, dispatcher, scope, local_info, - listener_metadata, scope_ptr); + auto wasm = + std::make_shared(vm_config.vm(), vm_id, vm_config.configuration(), cluster_manager, + dispatcher, scope, local_info, listener_metadata, scope_ptr); const auto& code = Config::DataSource::read(vm_config.code(), true, api); const auto& path = Config::DataSource::getPath(vm_config.code()) .value_or(code.empty() ? EMPTY_STRING : INLINE_STRING); @@ -2311,12 +2312,11 @@ createWasmInternal(absl::string_view vm_id, const envoy::config::wasm::v2::VmCon } Context* context; if (!root_context_for_testing) { - context = wasm->start(root_id); + context = wasm->start(root_id, vm_config.configuration()); } else { context = root_context_for_testing.get(); wasm->startForTesting(std::move(root_context_for_testing)); } - wasm->configure(context, vm_config.initial_configuration()); return wasm; } @@ -2352,17 +2352,16 @@ std::shared_ptr createThreadLocalWasm(Wasm& base_wasm, absl::string_view r Context* root_context; if (base_wasm.wasmVm()->clonable()) { wasm = std::make_shared(base_wasm, dispatcher); - root_context = wasm->start(root_id); + root_context = wasm->start(root_id, base_wasm.vm_configuration()); } else { wasm = std::make_shared(base_wasm.wasmVm()->vm(), base_wasm.id(), - base_wasm.initial_configuration(), base_wasm.clusterManager(), + base_wasm.vm_configuration(), base_wasm.clusterManager(), dispatcher, base_wasm.scope(), base_wasm.localInfo(), base_wasm.listenerMetadata(), nullptr /* owned scope */); if (!wasm->initialize(base_wasm.code(), base_wasm.id(), base_wasm.allow_precompiled())) { throw WasmException("Failed to initialize WASM code"); } - root_context = wasm->start(root_id); - wasm->configure(root_context, base_wasm.initial_configuration()); + root_context = wasm->start(root_id, base_wasm.vm_configuration()); } wasm->configure(root_context, configuration); if (!wasm->id().empty()) { @@ -2378,7 +2377,7 @@ std::shared_ptr getThreadLocalWasm(absl::string_view vm_id, absl::string_v throw WasmException(fmt::format("Failed to find WASM vm_id {}", vm_id)); } auto wasm = it->second; - auto root_context = wasm->start(id); + auto root_context = wasm->start(id, wasm->vm_configuration()); wasm->configure(root_context, configuration); return wasm; } diff --git a/source/extensions/common/wasm/wasm.h b/source/extensions/common/wasm/wasm.h index d3b525d599c0..03b0732e5d50 100644 --- a/source/extensions/common/wasm/wasm.h +++ b/source/extensions/common/wasm/wasm.h @@ -314,7 +314,7 @@ class Context : public Http::StreamFilter, // // VM level downcalls into the WASM code on Context(id == 0). // - virtual void onStart(absl::string_view root_id); + virtual void onStart(absl::string_view root_id, absl::string_view vm_configuration); virtual void onConfigure(absl::string_view configuration); // @@ -571,7 +571,7 @@ class Wasm : public Envoy::Server::Wasm, public Logger::Loggable, public std::enable_shared_from_this { public: - Wasm(absl::string_view vm, absl::string_view id, absl::string_view initial_configuration, + Wasm(absl::string_view vm, absl::string_view id, absl::string_view vm_configuration, Upstream::ClusterManager& cluster_manager, Event::Dispatcher& dispatcher, Stats::Scope& scope, const LocalInfo::LocalInfo& local_info, const envoy::api::v2::core::Metadata* listener_metadata, @@ -581,7 +581,8 @@ class Wasm : public Envoy::Server::Wasm, bool initialize(const std::string& code, absl::string_view name, bool allow_precompiled); void configure(Context* root_context, absl::string_view configuration); - Context* start(absl::string_view root_id); // returns the root Context. + Context* start(absl::string_view root_id, + absl::string_view vm_configuration); // returns the root Context. const std::string& context_id_filter_state_data_name() { return context_id_filter_state_data_name_; @@ -608,10 +609,10 @@ class Wasm : public Envoy::Server::Wasm, uint32_t allocContextId(); const std::string& code() const { return code_; } - const std::string& initial_configuration() const { return initial_configuration_; } + const std::string& vm_configuration() const { return vm_configuration_; } bool allow_precompiled() const { return allow_precompiled_; } - void setInitialConfiguration(const std::string& initial_configuration) { - initial_configuration_ = initial_configuration; + void setInitialConfiguration(const std::string& vm_configuration) { + vm_configuration_ = vm_configuration; } // @@ -707,7 +708,7 @@ class Wasm : public Envoy::Server::Wasm, WasmCall1Void free_; // Calls into the VM. - WasmContextCall2Void onStart_; + WasmContextCall4Void onStart_; WasmContextCall2Void onConfigure_; WasmContextCall0Void onTick_; @@ -739,7 +740,7 @@ class Wasm : public Envoy::Server::Wasm, // Used by the base_wasm to enable non-clonable thread local Wasm(s) to be constructed. std::string code_; - std::string initial_configuration_; + std::string vm_configuration_; bool allow_precompiled_ = false; bool is_emscripten_ = false; diff --git a/source/extensions/wasm/config.cc b/source/extensions/wasm/config.cc index c10e85b41aef..79b5f0cee7bf 100644 --- a/source/extensions/wasm/config.cc +++ b/source/extensions/wasm/config.cc @@ -27,7 +27,7 @@ Server::WasmSharedPtr WasmFactory::createWasm(const envoy::config::wasm::v2::Was nullptr /* listener_metadata */, context.scope()); if (config.singleton()) { // Return the WASM VM which will be stored as a singleton by the Server. - auto root_context = base_wasm->start(root_id); + auto root_context = base_wasm->start(root_id, config.vm_config().configuration()); base_wasm->configure(root_context, config.configuration()); return base_wasm; } diff --git a/test/extensions/access_loggers/wasm/test_data/logging.wasm b/test/extensions/access_loggers/wasm/test_data/logging.wasm index 25460a4e088f..8ce416143c4b 100644 Binary files a/test/extensions/access_loggers/wasm/test_data/logging.wasm and b/test/extensions/access_loggers/wasm/test_data/logging.wasm differ diff --git a/test/extensions/access_loggers/wasm/test_data/logging.wat b/test/extensions/access_loggers/wasm/test_data/logging.wat index 95ef4295347d..d35decbd32d5 100644 --- a/test/extensions/access_loggers/wasm/test_data/logging.wat +++ b/test/extensions/access_loggers/wasm/test_data/logging.wat @@ -126,14 +126,14 @@ $b7 $__ZN11ContextBaseD2Ev $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv $__ZN14ExampleContext6onDoneEv $__ZN14ExampleContext5onLogEv $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv $__ZN6google8protobuf5ValueD2Ev $__ZN6google8protobuf5ValueD0Ev $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf6StructD2Ev $__ZN6google8protobuf6StructD0Ev - $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN11RootContextD2Ev $__ZN11RootContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv - $__ZN7Context8onCreateEv $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev - $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev - $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv - $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 $b7 $b7 + $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN11RootContextD2Ev $__ZN11RootContextD0Ev $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv + $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv + $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev + $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv + $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b8 $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf5Value11GetTypeNameEv $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf9ListValue11GetTypeNameEv $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE - $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double $b8 + $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b9 $__ZN11RootContext13onGrpcReceiveEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $b10 $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEEclEOjOSB_ $__ZN11RootContext11onGrpcCloseEj10GrpcStatusNSt3__210unique_ptrI8WasmDataNS1_14default_deleteIS3_EEEE $__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $b10 $b10 $b11 $__ZN11RootContext18onHttpCallResponseEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEES5_S5_ $__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $b11 @@ -259,18 +259,18 @@ "\00\00\00\"\00\00\00#\00\00\00\00\00\00\000\12\00\00\16\00\00\00\17\00\00\00\0c\00\00\00$\00\00\00\0b\00\00\00%\00\00\00&\00\00\00\18\00\00\00'\00\00\00\03\00\00\00\0d\00\00\00\0c" "\00\00\00(\00\00\00\0e\00\00\00\06\00\00\00)\00\00\00\04\00\00\00\13\00\00\00\00\00\00\00 \12\00\00\0c\00\00\00\19\00\00\00\02\00\00\00\0d\00\00\00\04\00\00\00\0e\00\00\00\0f\00\00\00\0e" "\00\00\00\10\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\11\00\00\00\05\00\00\00\06\00\00\00\12\00\00\00\03\00\00\00\13\00\00\00\14\00\00\00\15\00\00\00\00\00\00\00p\12\00\00\1a\00\00\00\1b" - "\00\00\00*\00\00\00+\00\00\00\01\00\00\00\02\00\00\00\0f\00\00\00\1c\00\00\00\1d\00\00\00\10\00\00\00\01\00\00\00\11\00\00\00\12\00\00\00\13\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00x" - "\11\00\00\01\00\00\00\1e\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00,\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\1f" - "\00\00\00 \00\00\00\06\00\00\00\00\00\00\00\80\12\00\00!\00\00\00\"\00\00\00-\00\00\00\00\00\00\00\a8\12\00\00#\00\00\00$\00\00\00\06\00\00\00\14\00\00\00\01\00\00\00\07\00\00\00." - "\00\00\00\00\00\00\00\b8\12\00\00#\00\00\00%\00\00\00\08\00\00\00\15\00\00\00\02\00\00\00\07\00\00\00.") + "\00\00\00*\00\00\00+\00\00\00\01\00\00\00\02\00\00\00\0f\00\00\00\10\00\00\00\1c\00\00\00\11\00\00\00\01\00\00\00\12\00\00\00\13\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00x" + "\11\00\00\01\00\00\00\1d\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00,\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\1e" + "\00\00\00\1f\00\00\00\06\00\00\00\00\00\00\00\80\12\00\00 \00\00\00!\00\00\00-\00\00\00\00\00\00\00\a8\12\00\00\"\00\00\00#\00\00\00\06\00\00\00\15\00\00\00\01\00\00\00\07\00\00\00." + "\00\00\00\00\00\00\00\b8\12\00\00\"\00\00\00$\00\00\00\08\00\00\00\16\00\00\00\02\00\00\00\07\00\00\00.") (data $66 $27 (i32.const 6365) "\01\00\00\00\09\00\00\00\00\00\00\08\00\00\00\01\00\00\00 \00\00\00\00\10\04\00\00\\=\00\00a=\00\00\10\0d\00\00\d0\12\00\00`\13") (data $67 $27 (i32.const 6604) "\ec:") (data $68 $27 (i32.const 6664) - "\80\14\00\00&\00\00\00'\00\00\000\00\00\00\02\00\00\00\00\00\00\00\98\14\00\00(\00\00\00)\00\00\00*\00\00\00+\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00" - "\c0\14\00\00(\00\00\00,\00\00\00*\00\00\00+\00\00\00\0c\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\d0\14\00\00-\00\00\00.\00\00\001\00\00\00\00\00\00\00\e0\14\00\00" - "-\00\00\00/\00\00\001\00\00\00\00\00\00\00\10\15\00\00(\00\00\000\00\00\00*\00\00\00+\00\00\00\0d\00\00\00\00\00\00\000\15\00\00(\00\00\001\00\00\00*\00\00\00+\00\00\00" + "\80\14\00\00%\00\00\00&\00\00\000\00\00\00\02\00\00\00\00\00\00\00\98\14\00\00'\00\00\00(\00\00\00)\00\00\00*\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00" + "\c0\14\00\00'\00\00\00+\00\00\00)\00\00\00*\00\00\00\0c\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\d0\14\00\00,\00\00\00-\00\00\001\00\00\00\00\00\00\00\e0\14\00\00" + ",\00\00\00.\00\00\001\00\00\00\00\00\00\00\10\15\00\00'\00\00\00/\00\00\00)\00\00\00*\00\00\00\0d\00\00\00\00\00\00\000\15\00\00'\00\00\000\00\00\00)\00\00\00*\00\00\00" "\0c\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00onRequestHeaders \00:path\00header path \00newheader\00n" "ewheadervalue\00server\00envoy-wasm\00onRequestBody \00onLog \00 \00onDone \00" "14ExampleContext\007Context\0011ContextBase\00NSt3__210__function6__fu" @@ -1925,7 +1925,7 @@ end ;; $if_1 local.get $2 i32.const 16 - i32.const 50 + i32.const 49 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i64.const 0 @@ -2025,7 +2025,7 @@ end ;; $if_1 local.get $1 i32.const 16 - i32.const 51 + i32.const 50 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 local.get $2 @@ -2064,7 +2064,7 @@ i32.store i32.const 14744 call $__ZN6google8protobuf6StructC2Ev - i32.const 52 + i32.const 51 i32.const 14744 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 14776 @@ -2084,12 +2084,12 @@ i32.const 14796 i32.const 0 i32.store - i32.const 52 + i32.const 51 i32.const 14776 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 14832 call $__ZN6google8protobuf9ListValueC2Ev - i32.const 52 + i32.const 51 i32.const 14832 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 14728 @@ -13162,7 +13162,7 @@ end ;; $if_0 local.get $1 i32.const 24 - i32.const 53 + i32.const 52 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i32.const 0 @@ -18306,7 +18306,7 @@ i32.store local.get $1 i32.const 5248 - i32.const 38 + i32.const 37 call $___cxa_throw end ;; $if_8 local.get $5 @@ -19055,12 +19055,12 @@ call_indirect $26 (type $1) ) - (func $_proxy_onStart (type $6) + (func $_proxy_onStart (type $7) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -19069,229 +19069,226 @@ (local $10 i32) (local $11 i32) (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) global.get $30 - local.set $8 + local.set $7 global.get $30 i32.const 32 i32.add global.set $30 - local.get $8 - i32.const 24 + local.get $7 + i32.const 28 i32.add local.set $9 - local.get $8 - i32.const 12 + local.get $7 + i32.const 16 i32.add - local.set $3 - local.get $8 + local.set $6 + local.get $7 i32.const 8 i32.add - local.set $10 + local.set $11 + local.get $7 + i32.const 12 + i32.add + local.set $12 i32.const 8 call $__Znwm - local.tee $7 + local.tee $8 local.get $1 i32.store - local.get $7 + local.get $8 local.get $2 i32.store offset=4 + local.get $1 + local.set $13 block $block - i32.const 14908 - i32.load - local.tee $4 - if $if + block $block_0 + i32.const 14908 + i32.load + local.tee $5 + i32.eqz + br_if $block_0 i32.const 14904 i32.load - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const -1 i32.add - local.tee $6 + local.tee $10 i32.and i32.eqz - local.tee $11 - if $if_0 (result i32) + local.tee $14 + if $if (result i32) local.get $0 - local.get $6 + local.get $10 i32.and else - local.get $4 + local.get $5 local.get $0 i32.gt_u - if $if_1 (result i32) + if $if_0 (result i32) local.get $0 else - local.get $4 - if $if_2 (result i32) + local.get $5 + if $if_1 (result i32) local.get $0 - local.get $4 + local.get $5 i32.rem_u else i32.const 0 - end ;; $if_2 - end ;; $if_1 - end ;; $if_0 - local.tee $12 + end ;; $if_1 + end ;; $if_0 + end ;; $if + local.tee $15 i32.const 2 i32.shl i32.add i32.load - local.tee $5 - if $if_3 - local.get $5 - i32.load - local.tee $5 - if $if_4 - block $block_0 - block $block_1 - local.get $11 - if $if_5 - loop $loop - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $4 - i32.eq - local.tee $11 - local.get $4 - local.get $6 - i32.and - local.get $12 - i32.eq - i32.or - i32.eqz - br_if $block_0 - local.get $11 - if $if_6 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - end ;; $if_6 - local.get $5 - i32.load - local.tee $5 - br_if $loop - br $block_0 - unreachable - end ;; $loop - unreachable - else - loop $loop_0 - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $6 - i32.eq - if $if_7 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - else - local.get $6 - local.get $4 - i32.ge_u - if $if_8 (result i32) - local.get $4 - if $if_9 (result i32) - local.get $6 - local.get $4 - i32.rem_u - else - i32.const 0 - end ;; $if_9 - else - local.get $6 - end ;; $if_8 - local.get $12 - i32.ne - br_if $block_0 - end ;; $if_7 - local.get $5 - i32.load - local.tee $5 - br_if $loop_0 - br $block_0 - unreachable - end ;; $loop_0 - unreachable - end ;; $if_5 - unreachable - end ;; $block_1 - local.get $5 - i32.load offset=12 - local.tee $0 - i32.load - i32.load offset=8 - local.set $1 + local.tee $1 + i32.eqz + br_if $block_0 + local.get $1 + i32.load + local.tee $1 + i32.eqz + br_if $block_0 + block $block_1 + local.get $14 + if $if_2 + loop $loop local.get $0 local.get $1 - i32.const 63 + i32.load offset=4 + local.tee $5 + i32.eq + local.tee $14 + local.get $5 + local.get $10 i32.and - call_indirect $26 (type $1) - local.tee $0 + local.get $15 + i32.eq + i32.or + i32.eqz + br_if $block_0 + local.get $14 + if $if_3 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + end ;; $if_3 + local.get $1 i32.load - i32.load offset=28 - local.set $1 + local.tee $1 + br_if $loop + br $block_0 + unreachable + end ;; $loop + unreachable + else + loop $loop_0 local.get $0 local.get $1 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) - br $block - end ;; $block_0 - end ;; $if_4 - end ;; $if_3 - end ;; $if - local.get $1 - local.set $4 + i32.load offset=4 + local.tee $10 + i32.eq + if $if_4 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + else + local.get $10 + local.get $5 + i32.ge_u + if $if_5 (result i32) + local.get $5 + if $if_6 (result i32) + local.get $10 + local.get $5 + i32.rem_u + else + i32.const 0 + end ;; $if_6 + else + local.get $10 + end ;; $if_5 + local.get $15 + i32.ne + br_if $block_0 + end ;; $if_4 + local.get $1 + i32.load + local.tee $1 + br_if $loop_0 + br $block_0 + unreachable + end ;; $loop_0 + unreachable + end ;; $if_2 + unreachable + end ;; $block_1 + local.get $1 + i32.load offset=12 + local.tee $0 + i32.load + i32.load offset=8 + local.set $1 + local.get $0 + local.get $1 + i32.const 63 + i32.and + call_indirect $26 (type $1) + local.set $0 + br $block + end ;; $block_0 i32.const 14944 i32.load i32.eqz - if $if_10 + if $if_7 i32.const 160 call $__Znwm - local.tee $3 + local.tee $5 i64.const 0 i64.store offset=4 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=12 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=20 - local.get $3 + local.get $5 i64.const 0 i64.store offset=24 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=32 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=40 - local.get $3 + local.get $5 i64.const 0 i64.store offset=44 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=52 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=60 - local.get $3 + local.get $5 i32.const -64 i32.sub local.get $0 i32.store - local.get $3 + local.get $5 i32.const 6124 i32.store - local.get $3 + local.get $5 i32.const 68 i32.add local.tee $1 @@ -19303,16 +19300,16 @@ local.get $2 i32.const -17 i32.gt_u - if $if_11 + if $if_8 call $_abort - end ;; $if_11 + end ;; $if_8 block $block_2 block $block_3 local.get $2 i32.const 11 i32.lt_u - if $if_12 - local.get $3 + if $if_9 + local.get $5 local.get $2 i32.store8 offset=79 local.get $2 @@ -19328,20 +19325,20 @@ call $__Znwm local.tee $1 i32.store - local.get $3 + local.get $5 local.get $6 i32.const -2147483648 i32.or i32.store offset=76 - local.get $3 + local.get $5 local.get $2 i32.store offset=72 br $block_3 - end ;; $if_12 + end ;; $if_9 br $block_2 end ;; $block_3 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -19351,40 +19348,40 @@ i32.add i32.const 0 i32.store8 - local.get $3 + local.get $5 i64.const 0 i64.store offset=80 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=88 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=96 - local.get $3 + local.get $5 i64.const 0 i64.store offset=100 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=108 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=116 - local.get $3 + local.get $5 i64.const 0 i64.store offset=120 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=128 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=136 - local.get $3 + local.get $5 i64.const 0 i64.store offset=140 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=148 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=156 local.get $9 @@ -19396,10 +19393,10 @@ i32.load local.set $0 local.get $1 - local.get $3 + local.get $5 i32.store local.get $0 - if $if_13 + if $if_10 local.get $0 local.get $0 i32.load @@ -19409,73 +19406,66 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_13 - local.get $3 - local.get $3 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) + end ;; $if_10 + local.get $5 + local.set $0 br $block - end ;; $if_10 - local.get $3 + end ;; $if_7 + local.get $6 i64.const 0 i64.store align=4 - local.get $3 + local.get $6 i32.const 0 i32.store offset=8 local.get $2 i32.const -17 i32.gt_u - if $if_14 + if $if_11 call $_abort - end ;; $if_14 + end ;; $if_11 block $block_4 block $block_5 local.get $2 i32.const 11 i32.lt_u - if $if_15 (result i32) - local.get $3 + if $if_12 (result i32) + local.get $6 local.get $2 i32.store8 offset=11 local.get $2 - if $if_16 (result i32) - local.get $3 + if $if_13 (result i32) + local.get $6 local.set $1 br $block_5 else - local.get $3 - end ;; $if_16 + local.get $6 + end ;; $if_13 else - local.get $3 + local.get $6 local.get $2 i32.const 16 i32.add i32.const -16 i32.and - local.tee $6 + local.tee $5 call $__Znwm local.tee $1 i32.store - local.get $3 local.get $6 + local.get $5 i32.const -2147483648 i32.or i32.store offset=8 - local.get $3 + local.get $6 local.get $2 i32.store offset=4 br $block_5 - end ;; $if_15 + end ;; $if_12 local.set $1 br $block_4 end ;; $block_5 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -19487,18 +19477,18 @@ i32.store8 i32.const 14944 i32.load - local.get $3 + local.get $6 call $__ZNSt3__212__hash_tableINS_17__hash_value_typeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_8functionIFNS_10unique_ptrI11RootContextNS_14default_deleteISA_EEEEjNS_17basic_string_viewIcS4_EEEEEEENS_22__unordered_map_hasherIS7_SI_NS_4hashIS7_EELb1EEENS_21__unordered_map_equalIS7_SI_NS_8equal_toIS7_EELb1EEENS5_ISI_EEE4findIS7_EENS_15__hash_iteratorIPNS_11__hash_nodeISI_PvEEEERKT_ local.tee $1 - if $if_17 (result i32) - local.get $7 + if $if_14 (result i32) + local.get $8 i32.load offset=4 local.set $2 - local.get $8 local.get $7 + local.get $8 i32.load i32.store - local.get $8 + local.get $7 local.get $2 i32.store offset=4 local.get $9 @@ -19508,7 +19498,7 @@ i32.load offset=40 local.tee $1 i32.eqz - if $if_18 + if $if_15 i32.const 4 call $___cxa_allocate_exception local.tee $2 @@ -19516,13 +19506,13 @@ i32.store local.get $2 i32.const 5248 - i32.const 38 + i32.const 37 call $___cxa_throw - end ;; $if_18 - local.get $10 + end ;; $if_15 + local.get $11 local.get $1 local.get $9 - local.get $8 + local.get $7 local.get $1 i32.load i32.load offset=24 @@ -19531,7 +19521,7 @@ i32.const 210 i32.add call_indirect $26 (type $5) - local.get $10 + local.get $11 i32.load local.tee $1 i32.load @@ -19543,7 +19533,7 @@ i32.and call_indirect $26 (type $1) local.set $1 - local.get $3 + local.get $6 call $__ZNSt3__213unordered_mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEP11RootContextNS_4hashIS6_EENS_8equal_toIS6_EENS4_INS_4pairIKS6_S8_EEEEEixERSE_ local.get $1 i32.store @@ -19553,20 +19543,20 @@ local.get $9 call $__ZNSt3__213unordered_mapIiNS_10unique_ptrI11ContextBaseNS_14default_deleteIS2_EEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEEixEOi local.set $2 - local.get $10 + local.get $11 i32.load - local.set $4 - local.get $10 + local.set $5 + local.get $11 i32.const 0 i32.store local.get $2 i32.load local.set $0 local.get $2 - local.get $4 + local.get $5 i32.store local.get $0 - if $if_19 + if $if_16 local.get $0 local.get $0 i32.load @@ -19576,15 +19566,15 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_19 - local.get $10 + end ;; $if_16 + local.get $11 i32.load local.set $0 - local.get $10 + local.get $11 i32.const 0 i32.store local.get $0 - if $if_20 + if $if_17 local.get $0 local.get $0 i32.load @@ -19594,15 +19584,15 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_20 + end ;; $if_17 local.get $1 else - local.get $7 + local.get $8 i32.load - local.set $6 - local.get $7 + local.set $10 + local.get $8 i32.load offset=4 - local.set $4 + local.set $5 i32.const 160 call $__Znwm local.tee $2 @@ -19649,54 +19639,54 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $4 + local.get $5 i32.const -17 i32.gt_u - if $if_21 + if $if_18 call $_abort - end ;; $if_21 + end ;; $if_18 block $block_6 block $block_7 - local.get $4 + local.get $5 i32.const 11 i32.lt_u - if $if_22 + if $if_19 local.get $2 - local.get $4 + local.get $5 i32.store8 offset=79 - local.get $4 + local.get $5 br_if $block_7 else local.get $1 - local.get $4 + local.get $5 i32.const 16 i32.add i32.const -16 i32.and - local.tee $5 + local.tee $13 call $__Znwm local.tee $1 i32.store local.get $2 - local.get $5 + local.get $13 i32.const -2147483648 i32.or i32.store offset=76 local.get $2 - local.get $4 + local.get $5 i32.store offset=72 br $block_7 - end ;; $if_22 + end ;; $if_19 br $block_6 end ;; $block_7 local.get $1 - local.get $6 - local.get $4 + local.get $10 + local.get $5 call $_memcpy drop end ;; $block_6 local.get $1 - local.get $4 + local.get $5 i32.add i32.const 0 i32.store8 @@ -19748,7 +19738,7 @@ local.get $2 i32.store local.get $0 - if $if_23 + if $if_20 local.get $0 local.get $0 i32.load @@ -19758,43 +19748,72 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_23 + end ;; $if_20 local.get $2 - end ;; $if_17 + end ;; $if_14 local.set $0 - local.get $3 + local.get $6 i32.load8_s offset=11 i32.const 0 i32.lt_s - if $if_24 - local.get $3 + if $if_21 + local.get $6 i32.load call $_free - end ;; $if_24 - local.get $0 - local.get $0 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) - local.get $7 + end ;; $if_21 + end ;; $block + local.get $0 + i32.load + i32.load offset=28 + local.set $2 + i32.const 8 + call $__Znwm + local.tee $1 + local.get $3 + i32.store + local.get $1 + local.get $4 + i32.store offset=4 + local.get $12 + local.get $1 + i32.store + local.get $0 + local.get $12 + local.get $2 + i32.const 31 + i32.and + i32.const 176 + i32.add + call_indirect $26 (type $4) + local.get $12 + i32.load + local.set $0 + local.get $12 + i32.const 0 + i32.store + local.get $0 + i32.eqz + if $if_22 + local.get $8 i32.load call $_free - local.get $7 - call $_free local.get $8 + call $_free + local.get $7 global.set $30 return - end ;; $block - local.get $7 + end ;; $if_22 + local.get $0 i32.load call $_free - local.get $7 + local.get $0 + call $_free + local.get $8 + i32.load call $_free local.get $8 + call $_free + local.get $7 global.set $30 ) @@ -21621,7 +21640,7 @@ i32.store local.get $1 i32.const 5344 - i32.const 45 + i32.const 44 call $___cxa_throw end ;; $if_1 local.get $0 @@ -22168,7 +22187,7 @@ i32.store local.get $1 i32.const 5344 - i32.const 45 + i32.const 44 call $___cxa_throw end ;; $if_1 local.get $0 @@ -22936,7 +22955,7 @@ i32.store local.get $1 i32.const 5248 - i32.const 38 + i32.const 37 call $___cxa_throw end ;; $if_8 local.get $0 @@ -23789,7 +23808,7 @@ i32.store local.get $1 i32.const 5248 - i32.const 38 + i32.const 37 call $___cxa_throw end ;; $if_10 local.get $0 @@ -24368,7 +24387,7 @@ i32.store local.get $1 i32.const 5248 - i32.const 38 + i32.const 37 call $___cxa_throw end ;; $if_10 local.get $0 @@ -28023,7 +28042,7 @@ i32.store local.get $2 i32.const 5344 - i32.const 45 + i32.const 44 call $___cxa_throw end ;; $if_1 local.get $1 @@ -28560,7 +28579,7 @@ call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_ local.get $2 i32.const 4736 - i32.const 33 + i32.const 32 call $___cxa_throw else local.get $1 @@ -28587,7 +28606,7 @@ i32.const 14956 local.get $0 i32.store - i32.const 55 + i32.const 54 i32.const 4 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -28840,7 +28859,7 @@ i32.store local.get $3 i32.const 5344 - i32.const 45 + i32.const 44 call $___cxa_throw else local.get $2 @@ -29981,14 +30000,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 51 + i32.const 50 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 51 + i32.const 50 i32.store offset=4 local.get $2 local.get $0 @@ -30037,14 +30056,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 51 + i32.const 50 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 51 + i32.const 50 i32.store offset=4 local.get $2 local.get $0 @@ -40323,7 +40342,7 @@ i32.const 14880 i32.const 0 i32.store - i32.const 56 + i32.const 55 i32.const 14872 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ end ;; $if_5 @@ -51986,7 +52005,7 @@ end ;; $block_0 local.get $0 local.get $2 - i32.const 198 + i32.const 199 call_indirect $26 (type $4) end ;; $block end ;; $if @@ -60030,7 +60049,7 @@ i32.const 1 i32.store local.get $0 - i32.const 166 + i32.const 165 call_indirect $26 (type $0) i32.const 14952 i32.const -1 diff --git a/test/extensions/filters/http/wasm/test_data/async_call_cpp.wasm b/test/extensions/filters/http/wasm/test_data/async_call_cpp.wasm index b1bb4008ee19..9e8d2146a67a 100644 Binary files a/test/extensions/filters/http/wasm/test_data/async_call_cpp.wasm and b/test/extensions/filters/http/wasm/test_data/async_call_cpp.wasm differ diff --git a/test/extensions/filters/http/wasm/test_data/async_call_cpp.wat b/test/extensions/filters/http/wasm/test_data/async_call_cpp.wat index 4de3cbd991ed..8fe5916f7837 100644 --- a/test/extensions/filters/http/wasm/test_data/async_call_cpp.wat +++ b/test/extensions/filters/http/wasm/test_data/async_call_cpp.wat @@ -126,14 +126,14 @@ $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv $__ZN6google8protobuf5ValueD2Ev $__ZN6google8protobuf5ValueD0Ev $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf6StructD2Ev $__ZN6google8protobuf6StructD0Ev $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN11RootContextD2Ev $__ZN11RootContextD0Ev - $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev - $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev - $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv - $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 + $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv + $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev + $__ZNSt11logic_errorD0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv + $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 $b7 $b8 $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE $__ZNKSt3__210__function6__funcIZN14ExampleContext16onRequestHeadersEvE3__1NS_9allocatorIS3_EEFvNS_10unique_ptrI8WasmDataNS_14default_deleteIS7_EEEESA_SA_EE7__cloneEPNS0_6__baseISB_EE $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf5Value11GetTypeNameEv $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf9ListValue11GetTypeNameEv $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE - $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double - $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 + $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi + $_pop_arg_long_double $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b9 $__ZN11RootContext13onGrpcReceiveEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $b10 $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEEclEOjOSB_ $__ZNSt3__210__function6__funcIZN14ExampleContext16onRequestHeadersEvE3__1NS_9allocatorIS3_EEFvNS_10unique_ptrI8WasmDataNS_14default_deleteIS7_EEEESA_SA_EEclEOSA_SD_SD_ $__ZN11RootContext11onGrpcCloseEj10GrpcStatusNSt3__210unique_ptrI8WasmDataNS1_14default_deleteIS3_EEEE $__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $b10 $b11 $__ZN11RootContext18onHttpCallResponseEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEES5_S5_ $__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $b11 $b11 $b11 $b12 $__ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $__ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $b13) @@ -260,19 +260,19 @@ "\00\00\00\13\00\00\00\06\00\00\00\07\00\00\00\14\00\00\00\03\00\00\00\15\00\00\00$\00\00\00%\00\00\00\00\00\00\00P\12\00\00\1a\00\00\00\1b\00\00\00\0d\00\00\00&\00\00\00\0c\00\00\00'" "\00\00\00(\00\00\00\1c\00\00\00)\00\00\00\04\00\00\00\0e\00\00\00\0d\00\00\00*\00\00\00\0f\00\00\00\07\00\00\00+\00\00\00\04\00\00\00\15\00\00\00\00\00\00\00@\12\00\00\10\00\00\00\1d" "\00\00\00\03\00\00\00\0f\00\00\00\05\00\00\00\10\00\00\00\11\00\00\00\12\00\00\00\12\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\13\00\00\00\06\00\00\00\07\00\00\00\14\00\00\00\03\00\00\00\15" - "\00\00\00\16\00\00\00\17\00\00\00\00\00\00\00\90\12\00\00\1e\00\00\00\1f\00\00\00,\00\00\00-\00\00\00\01\00\00\00\02\00\00\00\10\00\00\00 \00\00\00!\00\00\00\11\00\00\00\01\00\00\00\12" - "\00\00\00\13\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\00\00\00\00x\11\00\00\01\00\00\00\"\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00.\00\00\00\04\00\00\00\01" - "\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\a0\12\00\00#\00\00\00$\00\00\00/\00\00\00\00\00\00\00\c8\12\00\00%" - "\00\00\00&\00\00\00\05\00\00\00\15\00\00\00\01\00\00\00\06\00\00\000\00\00\00\00\00\00\00\d8\12\00\00%\00\00\00'\00\00\00\07\00\00\00\16\00\00\00\02\00\00\00\06\00\00\000") + "\00\00\00\16\00\00\00\17\00\00\00\00\00\00\00\90\12\00\00\1e\00\00\00\1f\00\00\00,\00\00\00-\00\00\00\01\00\00\00\02\00\00\00\10\00\00\00\11\00\00\00 \00\00\00\12\00\00\00\01\00\00\00\13" + "\00\00\00\14\00\00\00\15\00\00\00\01\00\00\00\03\00\00\00\00\00\00\00x\11\00\00\01\00\00\00!\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00.\00\00\00\04\00\00\00\01" + "\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\a0\12\00\00\"\00\00\00#\00\00\00/\00\00\00\00\00\00\00\c8\12\00\00$" + "\00\00\00%\00\00\00\05\00\00\00\16\00\00\00\01\00\00\00\06\00\00\000\00\00\00\00\00\00\00\d8\12\00\00$\00\00\00&\00\00\00\07\00\00\00\17\00\00\00\02\00\00\00\06\00\00\000") (data $68 $28 (i32.const 6441) "\01\00\00\00\09\00\00\00\00\00\00\08\00\00\00\01\00\00\00 \00\00\00\00\10\04\00\00\8c>\00\00\91>\00\00\10\0d\00\00\f0\12\00\00\80\13") (data $69 $28 (i32.const 6680) "\1c<") (data $70 $28 (i32.const 6740) - "\a0\14\00\00(\00\00\00)\00\00\002\00\00\00\02\00\00\00\00\00\00\00\b8\14\00\00*\00\00\00+\00\00\00,\00\00\00-\00\00\00\0b\00\00\00\01\00\00\00\02\00\00\00\04\00\00\00\00\00\00\00" - "\e0\14\00\00*\00\00\00.\00\00\00,\00\00\00-\00\00\00\0b\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\f0\14\00\00/\00\00\000\00\00\003") + "\a0\14\00\00'\00\00\00(\00\00\002\00\00\00\02\00\00\00\00\00\00\00\b8\14\00\00)\00\00\00*\00\00\00+\00\00\00,\00\00\00\0b\00\00\00\01\00\00\00\02\00\00\00\04\00\00\00\00\00\00\00" + "\e0\14\00\00)\00\00\00-\00\00\00+\00\00\00,\00\00\00\0b\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\f0\14\00\00.\00\00\00/\00\00\003") (data $71 $28 (i32.const 6865) - "\15\00\00/\00\00\001\00\00\003\00\00\00\00\00\00\000\15\00\00*\00\00\002\00\00\00,\00\00\00-\00\00\00\0c\00\00\00\00\00\00\00P\15\00\00*\00\00\003\00\00\00,\00\00\00-" + "\15\00\00.\00\00\000\00\00\003\00\00\00\00\00\00\000\15\00\00)\00\00\001\00\00\00+\00\00\00,\00\00\00\0c\00\00\00\00\00\00\00P\15\00\00)\00\00\002\00\00\00+\00\00\00," "\00\00\00\0b\00\00\00\03\00\00\00\04\00\00\00\06\00\00\00cluster\00:method\00:path\00:authority\00foo\00hello wo" "rld\00trail\00cow\0014ExampleContext\007Context\0011ContextBase\00NSt3__210_" "_function6__funcI3$_0NS_9allocatorIS2_EEFNS_10unique_ptrI7Contex" @@ -2318,7 +2318,7 @@ i32.store local.get $2 i32.const 5376 - i32.const 47 + i32.const 46 call $___cxa_throw end ;; $if_1 local.get $1 @@ -3967,7 +3967,7 @@ i32.store local.get $2 i32.const 5376 - i32.const 47 + i32.const 46 call $___cxa_throw else local.get $4 @@ -4217,7 +4217,7 @@ end ;; $if_1 local.get $2 i32.const 16 - i32.const 52 + i32.const 51 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i64.const 0 @@ -4317,7 +4317,7 @@ end ;; $if_1 local.get $1 i32.const 16 - i32.const 53 + i32.const 52 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 local.get $2 @@ -4356,7 +4356,7 @@ i32.store i32.const 15048 call $__ZN6google8protobuf6StructC2Ev - i32.const 54 + i32.const 53 i32.const 15048 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15080 @@ -4376,12 +4376,12 @@ i32.const 15100 i32.const 0 i32.store - i32.const 54 + i32.const 53 i32.const 15080 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15136 call $__ZN6google8protobuf9ListValueC2Ev - i32.const 54 + i32.const 53 i32.const 15136 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15032 @@ -15454,7 +15454,7 @@ end ;; $if_0 local.get $1 i32.const 24 - i32.const 55 + i32.const 54 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i32.const 0 @@ -20598,7 +20598,7 @@ i32.store local.get $1 i32.const 5280 - i32.const 40 + i32.const 39 call $___cxa_throw end ;; $if_8 local.get $5 @@ -21347,12 +21347,12 @@ call_indirect $27 (type $2) ) - (func $_proxy_onStart (type $6) + (func $_proxy_onStart (type $7) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -21361,229 +21361,226 @@ (local $10 i32) (local $11 i32) (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) global.get $31 - local.set $8 + local.set $7 global.get $31 i32.const 32 i32.add global.set $31 - local.get $8 - i32.const 24 + local.get $7 + i32.const 28 i32.add local.set $9 - local.get $8 - i32.const 12 + local.get $7 + i32.const 16 i32.add - local.set $3 - local.get $8 + local.set $6 + local.get $7 i32.const 8 i32.add - local.set $10 + local.set $11 + local.get $7 + i32.const 12 + i32.add + local.set $12 i32.const 8 call $__Znwm - local.tee $7 + local.tee $8 local.get $1 i32.store - local.get $7 + local.get $8 local.get $2 i32.store offset=4 + local.get $1 + local.set $13 block $block - i32.const 15212 - i32.load - local.tee $4 - if $if + block $block_0 + i32.const 15212 + i32.load + local.tee $5 + i32.eqz + br_if $block_0 i32.const 15208 i32.load - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const -1 i32.add - local.tee $6 + local.tee $10 i32.and i32.eqz - local.tee $11 - if $if_0 (result i32) + local.tee $14 + if $if (result i32) local.get $0 - local.get $6 + local.get $10 i32.and else - local.get $4 + local.get $5 local.get $0 i32.gt_u - if $if_1 (result i32) + if $if_0 (result i32) local.get $0 else - local.get $4 - if $if_2 (result i32) + local.get $5 + if $if_1 (result i32) local.get $0 - local.get $4 + local.get $5 i32.rem_u else i32.const 0 - end ;; $if_2 - end ;; $if_1 - end ;; $if_0 - local.tee $12 + end ;; $if_1 + end ;; $if_0 + end ;; $if + local.tee $15 i32.const 2 i32.shl i32.add i32.load - local.tee $5 - if $if_3 - local.get $5 - i32.load - local.tee $5 - if $if_4 - block $block_0 - block $block_1 - local.get $11 - if $if_5 - loop $loop - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $4 - i32.eq - local.tee $11 - local.get $4 - local.get $6 - i32.and - local.get $12 - i32.eq - i32.or - i32.eqz - br_if $block_0 - local.get $11 - if $if_6 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - end ;; $if_6 - local.get $5 - i32.load - local.tee $5 - br_if $loop - br $block_0 - unreachable - end ;; $loop - unreachable - else - loop $loop_0 - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $6 - i32.eq - if $if_7 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - else - local.get $6 - local.get $4 - i32.ge_u - if $if_8 (result i32) - local.get $4 - if $if_9 (result i32) - local.get $6 - local.get $4 - i32.rem_u - else - i32.const 0 - end ;; $if_9 - else - local.get $6 - end ;; $if_8 - local.get $12 - i32.ne - br_if $block_0 - end ;; $if_7 - local.get $5 - i32.load - local.tee $5 - br_if $loop_0 - br $block_0 - unreachable - end ;; $loop_0 - unreachable - end ;; $if_5 - unreachable - end ;; $block_1 - local.get $5 - i32.load offset=12 - local.tee $0 - i32.load - i32.load offset=8 - local.set $1 + local.tee $1 + i32.eqz + br_if $block_0 + local.get $1 + i32.load + local.tee $1 + i32.eqz + br_if $block_0 + block $block_1 + local.get $14 + if $if_2 + loop $loop local.get $0 local.get $1 - i32.const 63 + i32.load offset=4 + local.tee $5 + i32.eq + local.tee $14 + local.get $5 + local.get $10 i32.and - call_indirect $27 (type $2) - local.tee $0 + local.get $15 + i32.eq + i32.or + i32.eqz + br_if $block_0 + local.get $14 + if $if_3 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + end ;; $if_3 + local.get $1 i32.load - i32.load offset=28 - local.set $1 + local.tee $1 + br_if $loop + br $block_0 + unreachable + end ;; $loop + unreachable + else + loop $loop_0 local.get $0 local.get $1 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $27 (type $0) - br $block - end ;; $block_0 - end ;; $if_4 - end ;; $if_3 - end ;; $if - local.get $1 - local.set $4 + i32.load offset=4 + local.tee $10 + i32.eq + if $if_4 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + else + local.get $10 + local.get $5 + i32.ge_u + if $if_5 (result i32) + local.get $5 + if $if_6 (result i32) + local.get $10 + local.get $5 + i32.rem_u + else + i32.const 0 + end ;; $if_6 + else + local.get $10 + end ;; $if_5 + local.get $15 + i32.ne + br_if $block_0 + end ;; $if_4 + local.get $1 + i32.load + local.tee $1 + br_if $loop_0 + br $block_0 + unreachable + end ;; $loop_0 + unreachable + end ;; $if_2 + unreachable + end ;; $block_1 + local.get $1 + i32.load offset=12 + local.tee $0 + i32.load + i32.load offset=8 + local.set $1 + local.get $0 + local.get $1 + i32.const 63 + i32.and + call_indirect $27 (type $2) + local.set $0 + br $block + end ;; $block_0 i32.const 15248 i32.load i32.eqz - if $if_10 + if $if_7 i32.const 160 call $__Znwm - local.tee $3 + local.tee $5 i64.const 0 i64.store offset=4 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=12 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=20 - local.get $3 + local.get $5 i64.const 0 i64.store offset=24 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=32 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=40 - local.get $3 + local.get $5 i64.const 0 i64.store offset=44 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=52 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=60 - local.get $3 + local.get $5 i32.const -64 i32.sub local.get $0 i32.store - local.get $3 + local.get $5 i32.const 6200 i32.store - local.get $3 + local.get $5 i32.const 68 i32.add local.tee $1 @@ -21595,16 +21592,16 @@ local.get $2 i32.const -17 i32.gt_u - if $if_11 + if $if_8 call $_abort - end ;; $if_11 + end ;; $if_8 block $block_2 block $block_3 local.get $2 i32.const 11 i32.lt_u - if $if_12 - local.get $3 + if $if_9 + local.get $5 local.get $2 i32.store8 offset=79 local.get $2 @@ -21620,20 +21617,20 @@ call $__Znwm local.tee $1 i32.store - local.get $3 + local.get $5 local.get $6 i32.const -2147483648 i32.or i32.store offset=76 - local.get $3 + local.get $5 local.get $2 i32.store offset=72 br $block_3 - end ;; $if_12 + end ;; $if_9 br $block_2 end ;; $block_3 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -21643,40 +21640,40 @@ i32.add i32.const 0 i32.store8 - local.get $3 + local.get $5 i64.const 0 i64.store offset=80 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=88 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=96 - local.get $3 + local.get $5 i64.const 0 i64.store offset=100 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=108 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=116 - local.get $3 + local.get $5 i64.const 0 i64.store offset=120 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=128 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=136 - local.get $3 + local.get $5 i64.const 0 i64.store offset=140 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=148 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=156 local.get $9 @@ -21688,10 +21685,10 @@ i32.load local.set $0 local.get $1 - local.get $3 + local.get $5 i32.store local.get $0 - if $if_13 + if $if_10 local.get $0 local.get $0 i32.load @@ -21701,73 +21698,66 @@ i32.const 112 i32.add call_indirect $27 (type $0) - end ;; $if_13 - local.get $3 - local.get $3 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $27 (type $0) + end ;; $if_10 + local.get $5 + local.set $0 br $block - end ;; $if_10 - local.get $3 + end ;; $if_7 + local.get $6 i64.const 0 i64.store align=4 - local.get $3 + local.get $6 i32.const 0 i32.store offset=8 local.get $2 i32.const -17 i32.gt_u - if $if_14 + if $if_11 call $_abort - end ;; $if_14 + end ;; $if_11 block $block_4 block $block_5 local.get $2 i32.const 11 i32.lt_u - if $if_15 (result i32) - local.get $3 + if $if_12 (result i32) + local.get $6 local.get $2 i32.store8 offset=11 local.get $2 - if $if_16 (result i32) - local.get $3 + if $if_13 (result i32) + local.get $6 local.set $1 br $block_5 else - local.get $3 - end ;; $if_16 + local.get $6 + end ;; $if_13 else - local.get $3 + local.get $6 local.get $2 i32.const 16 i32.add i32.const -16 i32.and - local.tee $6 + local.tee $5 call $__Znwm local.tee $1 i32.store - local.get $3 local.get $6 + local.get $5 i32.const -2147483648 i32.or i32.store offset=8 - local.get $3 + local.get $6 local.get $2 i32.store offset=4 br $block_5 - end ;; $if_15 + end ;; $if_12 local.set $1 br $block_4 end ;; $block_5 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -21779,18 +21769,18 @@ i32.store8 i32.const 15248 i32.load - local.get $3 + local.get $6 call $__ZNSt3__212__hash_tableINS_17__hash_value_typeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_8functionIFNS_10unique_ptrI11RootContextNS_14default_deleteISA_EEEEjNS_17basic_string_viewIcS4_EEEEEEENS_22__unordered_map_hasherIS7_SI_NS_4hashIS7_EELb1EEENS_21__unordered_map_equalIS7_SI_NS_8equal_toIS7_EELb1EEENS5_ISI_EEE4findIS7_EENS_15__hash_iteratorIPNS_11__hash_nodeISI_PvEEEERKT_ local.tee $1 - if $if_17 (result i32) - local.get $7 + if $if_14 (result i32) + local.get $8 i32.load offset=4 local.set $2 - local.get $8 local.get $7 + local.get $8 i32.load i32.store - local.get $8 + local.get $7 local.get $2 i32.store offset=4 local.get $9 @@ -21800,7 +21790,7 @@ i32.load offset=40 local.tee $1 i32.eqz - if $if_18 + if $if_15 i32.const 4 call $___cxa_allocate_exception local.tee $2 @@ -21808,13 +21798,13 @@ i32.store local.get $2 i32.const 5280 - i32.const 40 + i32.const 39 call $___cxa_throw - end ;; $if_18 - local.get $10 + end ;; $if_15 + local.get $11 local.get $1 local.get $9 - local.get $8 + local.get $7 local.get $1 i32.load i32.load offset=24 @@ -21823,7 +21813,7 @@ i32.const 210 i32.add call_indirect $27 (type $5) - local.get $10 + local.get $11 i32.load local.tee $1 i32.load @@ -21835,7 +21825,7 @@ i32.and call_indirect $27 (type $2) local.set $1 - local.get $3 + local.get $6 call $__ZNSt3__213unordered_mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEP11RootContextNS_4hashIS6_EENS_8equal_toIS6_EENS4_INS_4pairIKS6_S8_EEEEEixERSE_ local.get $1 i32.store @@ -21845,20 +21835,20 @@ local.get $9 call $__ZNSt3__213unordered_mapIiNS_10unique_ptrI11ContextBaseNS_14default_deleteIS2_EEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEEixEOi local.set $2 - local.get $10 + local.get $11 i32.load - local.set $4 - local.get $10 + local.set $5 + local.get $11 i32.const 0 i32.store local.get $2 i32.load local.set $0 local.get $2 - local.get $4 + local.get $5 i32.store local.get $0 - if $if_19 + if $if_16 local.get $0 local.get $0 i32.load @@ -21868,15 +21858,15 @@ i32.const 112 i32.add call_indirect $27 (type $0) - end ;; $if_19 - local.get $10 + end ;; $if_16 + local.get $11 i32.load local.set $0 - local.get $10 + local.get $11 i32.const 0 i32.store local.get $0 - if $if_20 + if $if_17 local.get $0 local.get $0 i32.load @@ -21886,15 +21876,15 @@ i32.const 112 i32.add call_indirect $27 (type $0) - end ;; $if_20 + end ;; $if_17 local.get $1 else - local.get $7 + local.get $8 i32.load - local.set $6 - local.get $7 + local.set $10 + local.get $8 i32.load offset=4 - local.set $4 + local.set $5 i32.const 160 call $__Znwm local.tee $2 @@ -21941,54 +21931,54 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $4 + local.get $5 i32.const -17 i32.gt_u - if $if_21 + if $if_18 call $_abort - end ;; $if_21 + end ;; $if_18 block $block_6 block $block_7 - local.get $4 + local.get $5 i32.const 11 i32.lt_u - if $if_22 + if $if_19 local.get $2 - local.get $4 + local.get $5 i32.store8 offset=79 - local.get $4 + local.get $5 br_if $block_7 else local.get $1 - local.get $4 + local.get $5 i32.const 16 i32.add i32.const -16 i32.and - local.tee $5 + local.tee $13 call $__Znwm local.tee $1 i32.store local.get $2 - local.get $5 + local.get $13 i32.const -2147483648 i32.or i32.store offset=76 local.get $2 - local.get $4 + local.get $5 i32.store offset=72 br $block_7 - end ;; $if_22 + end ;; $if_19 br $block_6 end ;; $block_7 local.get $1 - local.get $6 - local.get $4 + local.get $10 + local.get $5 call $_memcpy drop end ;; $block_6 local.get $1 - local.get $4 + local.get $5 i32.add i32.const 0 i32.store8 @@ -22040,7 +22030,7 @@ local.get $2 i32.store local.get $0 - if $if_23 + if $if_20 local.get $0 local.get $0 i32.load @@ -22050,43 +22040,72 @@ i32.const 112 i32.add call_indirect $27 (type $0) - end ;; $if_23 + end ;; $if_20 local.get $2 - end ;; $if_17 + end ;; $if_14 local.set $0 - local.get $3 + local.get $6 i32.load8_s offset=11 i32.const 0 i32.lt_s - if $if_24 - local.get $3 + if $if_21 + local.get $6 i32.load call $_free - end ;; $if_24 - local.get $0 - local.get $0 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $27 (type $0) - local.get $7 + end ;; $if_21 + end ;; $block + local.get $0 + i32.load + i32.load offset=28 + local.set $2 + i32.const 8 + call $__Znwm + local.tee $1 + local.get $3 + i32.store + local.get $1 + local.get $4 + i32.store offset=4 + local.get $12 + local.get $1 + i32.store + local.get $0 + local.get $12 + local.get $2 + i32.const 31 + i32.and + i32.const 176 + i32.add + call_indirect $27 (type $1) + local.get $12 + i32.load + local.set $0 + local.get $12 + i32.const 0 + i32.store + local.get $0 + i32.eqz + if $if_22 + local.get $8 i32.load call $_free - local.get $7 - call $_free local.get $8 + call $_free + local.get $7 global.set $31 return - end ;; $block - local.get $7 + end ;; $if_22 + local.get $0 i32.load call $_free - local.get $7 + local.get $0 call $_free local.get $8 + i32.load + call $_free + local.get $8 + call $_free + local.get $7 global.set $31 ) @@ -23913,7 +23932,7 @@ i32.store local.get $1 i32.const 5376 - i32.const 47 + i32.const 46 call $___cxa_throw end ;; $if_1 local.get $0 @@ -24460,7 +24479,7 @@ i32.store local.get $1 i32.const 5376 - i32.const 47 + i32.const 46 call $___cxa_throw end ;; $if_1 local.get $0 @@ -25228,7 +25247,7 @@ i32.store local.get $1 i32.const 5280 - i32.const 40 + i32.const 39 call $___cxa_throw end ;; $if_8 local.get $0 @@ -26081,7 +26100,7 @@ i32.store local.get $1 i32.const 5280 - i32.const 40 + i32.const 39 call $___cxa_throw end ;; $if_10 local.get $0 @@ -26660,7 +26679,7 @@ i32.store local.get $1 i32.const 5280 - i32.const 40 + i32.const 39 call $___cxa_throw end ;; $if_10 local.get $0 @@ -30315,7 +30334,7 @@ i32.store local.get $2 i32.const 5376 - i32.const 47 + i32.const 46 call $___cxa_throw end ;; $if_1 local.get $1 @@ -30852,7 +30871,7 @@ call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_ local.get $2 i32.const 4768 - i32.const 35 + i32.const 34 call $___cxa_throw else local.get $1 @@ -30879,7 +30898,7 @@ i32.const 15260 local.get $0 i32.store - i32.const 57 + i32.const 56 i32.const 4 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -31132,7 +31151,7 @@ i32.store local.get $3 i32.const 5376 - i32.const 47 + i32.const 46 call $___cxa_throw else local.get $2 @@ -32266,14 +32285,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 53 + i32.const 52 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 53 + i32.const 52 i32.store offset=4 local.get $2 local.get $0 @@ -32322,14 +32341,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 53 + i32.const 52 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 53 + i32.const 52 i32.store offset=4 local.get $2 local.get $0 @@ -42608,7 +42627,7 @@ i32.const 15184 i32.const 0 i32.store - i32.const 58 + i32.const 57 i32.const 15176 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ end ;; $if_5 @@ -54271,7 +54290,7 @@ end ;; $block_0 local.get $0 local.get $2 - i32.const 199 + i32.const 200 call_indirect $27 (type $1) end ;; $block end ;; $if @@ -62312,7 +62331,7 @@ i32.const 1 i32.store local.get $0 - i32.const 168 + i32.const 167 call_indirect $27 (type $0) i32.const 15256 i32.const -1 diff --git a/test/extensions/filters/http/wasm/test_data/grpc_call_cpp.wasm b/test/extensions/filters/http/wasm/test_data/grpc_call_cpp.wasm index 235a4bf83e2b..9863d7d277a1 100644 Binary files a/test/extensions/filters/http/wasm/test_data/grpc_call_cpp.wasm and b/test/extensions/filters/http/wasm/test_data/grpc_call_cpp.wasm differ diff --git a/test/extensions/filters/http/wasm/test_data/grpc_call_cpp.wat b/test/extensions/filters/http/wasm/test_data/grpc_call_cpp.wat index 5bba90d31706..9bdeb416ce1f 100644 --- a/test/extensions/filters/http/wasm/test_data/grpc_call_cpp.wat +++ b/test/extensions/filters/http/wasm/test_data/grpc_call_cpp.wat @@ -148,12 +148,12 @@ $__ZN22GrpcService_GoogleGrpcD2Ev $__ZN22GrpcService_GoogleGrpcD0Ev $__ZN22GrpcService_GoogleGrpc5ClearEv $__ZN23GrpcService_HeaderValueD2Ev $__ZN23GrpcService_HeaderValueD0Ev $__ZN3Any5ClearEv $__ZN11GrpcServiceD2Ev $__ZN11GrpcServiceD0Ev $__ZN11GrpcService5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv $__ZN6google8protobuf5ValueD2Ev $__ZN6google8protobuf5ValueD0Ev $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf6StructD2Ev $__ZN6google8protobuf6StructD0Ev $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN11RootContextD2Ev - $__ZN11RootContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZN17MyGrpcCallHandlerD0Ev - $__ZN17MyGrpcCallHandlerD0Ev $__ZN7Context8onCreateEv $__ZN17MyGrpcCallHandlerD0Ev $__ZN7Context8onCreateEv $__ZN17MyGrpcCallHandlerD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN17MyGrpcCallHandlerD0Ev - $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZN17MyGrpcCallHandlerD0Ev $__ZN17MyGrpcCallHandlerD0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv + $__ZN11RootContextD0Ev $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZN17MyGrpcCallHandlerD0Ev $__ZN17MyGrpcCallHandlerD0Ev + $__ZN7Context8onCreateEv $__ZN17MyGrpcCallHandlerD0Ev $__ZN7Context8onCreateEv $__ZN17MyGrpcCallHandlerD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN17MyGrpcCallHandlerD0Ev $__ZNSt11logic_errorD2Ev + $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZN17MyGrpcCallHandlerD0Ev $__ZN17MyGrpcCallHandlerD0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv - $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv - $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 $b7 + $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv + $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b8 $__ZN15GrpcCallHandlerIN6google8protobuf5ValueEE9onSuccessENSt3__210unique_ptrI8WasmDataNS4_14default_deleteIS6_EEEE $__ZN17MyGrpcCallHandler9onSuccessEON6google8protobuf5ValueE $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE $__ZNK10DataSource11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN10DataSource21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK10DataSource24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK3Any11GetTypeNameEv $__ZN3Any21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK3Any24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK21GrpcService_EnvoyGrpc11GetTypeNameEv $__ZN21GrpcService_EnvoyGrpc21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK21GrpcService_EnvoyGrpc24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK37GrpcService_GoogleGrpc_SslCredentials11GetTypeNameEv $__ZN37GrpcService_GoogleGrpc_SslCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE @@ -162,8 +162,8 @@ $__ZNK68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin11GetTypeNameEv $__ZN68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK38GrpcService_GoogleGrpc_CallCredentials11GetTypeNameEv $__ZN38GrpcService_GoogleGrpc_CallCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK38GrpcService_GoogleGrpc_CallCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK22GrpcService_GoogleGrpc11GetTypeNameEv $__ZN22GrpcService_GoogleGrpc21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK22GrpcService_GoogleGrpc24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK23GrpcService_HeaderValue11GetTypeNameEv $__ZN23GrpcService_HeaderValue21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK23GrpcService_HeaderValue24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK11GrpcService11GetTypeNameEv $__ZN11GrpcService21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK11GrpcService24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf5Value11GetTypeNameEv $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf9ListValue11GetTypeNameEv $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE - $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj - $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double $b8 $b8 $b8 $b8 $b8 + $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj + $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 @@ -333,18 +333,18 @@ "\13\00\00\00[\00\00\00\\\00\00\00\00\00\00\008\13\00\00C\00\00\00D\00\00\008\00\00\00]\00\00\00'\00\00\00^\00\00\00_\00\00\00E\00\00\00`\00\00\00\05\00\00\009\00\00\00" "(\00\00\00a\00\00\00:\00\00\00\06\00\00\00b\00\00\00\03\00\00\00\13\00\00\00\00\00\00\00(\13\00\009\00\00\00F\00\00\00/\00\00\00H\00\00\00!\00\00\00I\00\00\00\0f\00\00\00" ";\00\00\00J\00\00\00\05\00\00\000\00\00\00\"\00\00\00K\00\00\001\00\00\00\06\00\00\00L\00\00\00\04\00\00\00\13\00\00\00M\00\00\00N\00\00\00\00\00\00\00x\13\00\00G\00\00\00" - "H\00\00\00c\00\00\00d\00\00\00\01\00\00\00\02\00\00\00;\00\00\00I\00\00\00J\00\00\00<\00\00\00\01\00\00\00=\00\00\00>\00\00\00?\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00" - "x\11\00\00\01\00\00\00K\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00e\00\00\00\04\00\00\00\01\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00" - "\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\88\13\00\00L\00\00\00M\00\00\00f\00\00\00\00\00\00\00\b0\13\00\00N\00\00\00O\00\00\00\05\00\00\00@\00\00\00\01\00\00\00\06\00\00\00" - "g\00\00\00\00\00\00\00\c0\13\00\00N\00\00\00P\00\00\00\07\00\00\00A\00\00\00\02\00\00\00\06\00\00\00g") + "H\00\00\00c\00\00\00d\00\00\00\01\00\00\00\02\00\00\00;\00\00\00<\00\00\00I\00\00\00=\00\00\00\01\00\00\00>\00\00\00?\00\00\00@\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00" + "x\11\00\00\01\00\00\00J\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00e\00\00\00\04\00\00\00\01\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00" + "\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\88\13\00\00K\00\00\00L\00\00\00f\00\00\00\00\00\00\00\b0\13\00\00M\00\00\00N\00\00\00\05\00\00\00A\00\00\00\01\00\00\00\06\00\00\00" + "g\00\00\00\00\00\00\00\c0\13\00\00M\00\00\00O\00\00\00\07\00\00\00B\00\00\00\02\00\00\00\06\00\00\00g") (data $76 $29 (i32.const 8045) "\01\00\00\00\09\00\00\00\00\00\00\08\00\00\00\01\00\00\00 \00\00\00\00\10\04\00\00\\O\00\00aO\00\00\10\0d\00\00\d8\13\00\00h\14") (data $77 $29 (i32.const 8284) "\ecL") (data $78 $29 (i32.const 8344) - "\88\15\00\00Q\00\00\00R\00\00\00i\00\00\00\10\00\00\00\00\00\00\00\a0\15\00\00S\00\00\00T\00\00\00U\00\00\00V\00\00\00\0b\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00" - "\c8\15\00\00S\00\00\00W\00\00\00U\00\00\00V\00\00\00\0b\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\d8\15\00\00X\00\00\00Y\00\00\00j\00\00\00\00\00\00\00\e8\15\00\00" - "X\00\00\00Z\00\00\00j\00\00\00\00\00\00\00\18\16\00\00S\00\00\00[\00\00\00U\00\00\00V\00\00\00\0c\00\00\00\00\00\00\008\16\00\00S\00\00\00\\\00\00\00U\00\00\00V\00\00\00" + "\88\15\00\00P\00\00\00Q\00\00\00i\00\00\00\10\00\00\00\00\00\00\00\a0\15\00\00R\00\00\00S\00\00\00T\00\00\00U\00\00\00\0b\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00" + "\c8\15\00\00R\00\00\00V\00\00\00T\00\00\00U\00\00\00\0b\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\d8\15\00\00W\00\00\00X\00\00\00j\00\00\00\00\00\00\00\e8\15\00\00" + "W\00\00\00Y\00\00\00j\00\00\00\00\00\00\00\18\16\00\00R\00\00\00Z\00\00\00T\00\00\00U\00\00\00\0c\00\00\00\00\00\00\008\16\00\00R\00\00\00[\00\00\00T\00\00\00U\00\00\00" "\0b\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00cluster\00request\00service\00method\0014ExampleContext\00" "7Context\0011ContextBase\00/home/jplev_google_com/envoy/api/wasm/cpp" "/proxy_wasm_intrinsics_lite.pb.h\00CHECK failed: value != NULL: \00/" @@ -1435,7 +1435,7 @@ end ;; $if_1 local.get $1 i32.const 16 - i32.const 93 + i32.const 92 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 local.get $2 @@ -2333,7 +2333,7 @@ i32.store local.get $2 i32.const 5608 - i32.const 88 + i32.const 87 call $___cxa_throw end ;; $if_1 local.get $1 @@ -3281,7 +3281,7 @@ end ;; $if_1 local.get $2 i32.const 16 - i32.const 94 + i32.const 93 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i64.const 0 @@ -3328,7 +3328,7 @@ i32.const 18912 i32.const 0 i32.store - i32.const 95 + i32.const 94 i32.const 18896 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -4603,7 +4603,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 96 + i32.const 95 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 5916 @@ -4680,7 +4680,7 @@ i32.const 18948 i32.const 19480 i32.store - i32.const 95 + i32.const 94 i32.const 18936 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -5707,7 +5707,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 97 + i32.const 96 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6012 @@ -5768,7 +5768,7 @@ i32.const 18968 i32.const 19480 i32.store - i32.const 95 + i32.const 94 i32.const 18960 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -6672,7 +6672,7 @@ end ;; $if_0 local.get $0 i32.const 16 - i32.const 98 + i32.const 97 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6108 @@ -6733,7 +6733,7 @@ i32.const 18992 i32.const 0 i32.store - i32.const 95 + i32.const 94 i32.const 18976 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 18984 @@ -8036,7 +8036,7 @@ end ;; $if_1 local.get $0 i32.const 24 - i32.const 99 + i32.const 98 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6204 @@ -8087,7 +8087,7 @@ i32.const 6276 call $__ZN6google8protobuf8internal11InitSCCImplEPNS1_11SCCInfoBaseE end ;; $if - i32.const 95 + i32.const 94 i32.const 19000 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -8760,7 +8760,7 @@ end ;; $if_1 local.get $0 i32.const 16 - i32.const 100 + i32.const 99 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6300 @@ -8808,7 +8808,7 @@ i32.const 6372 call $__ZN6google8protobuf8internal11InitSCCImplEPNS1_11SCCInfoBaseE end ;; $if - i32.const 95 + i32.const 94 i32.const 19016 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -9122,7 +9122,7 @@ end ;; $if_1 local.get $0 i32.const 16 - i32.const 101 + i32.const 100 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6396 @@ -9173,7 +9173,7 @@ i32.const 19048 i32.const 0 i32.store - i32.const 95 + i32.const 94 i32.const 19032 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -10683,7 +10683,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 102 + i32.const 101 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6500 @@ -10744,7 +10744,7 @@ i32.const 19088 i64.const 0 i64.store - i32.const 95 + i32.const 94 i32.const 19072 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -11790,7 +11790,7 @@ end ;; $if_0 local.get $0 i32.const 32 - i32.const 103 + i32.const 102 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6596 @@ -11854,7 +11854,7 @@ i32.const 19116 i32.const 19480 i32.store - i32.const 95 + i32.const 94 i32.const 19104 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -12744,7 +12744,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 104 + i32.const 103 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6692 @@ -12808,7 +12808,7 @@ i32.const 19148 i32.const 0 i32.store - i32.const 95 + i32.const 94 i32.const 19128 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -14336,7 +14336,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 105 + i32.const 104 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6792 @@ -14397,7 +14397,7 @@ i32.const 19176 i32.const 0 i32.store - i32.const 95 + i32.const 94 i32.const 19160 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -16518,7 +16518,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 106 + i32.const 105 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6900 @@ -16560,7 +16560,7 @@ global.set $32 i32.const 19208 call $__ZN22GrpcService_GoogleGrpcC2Ev - i32.const 95 + i32.const 94 i32.const 19208 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 19244 @@ -18929,7 +18929,7 @@ end ;; $if_0 local.get $0 i32.const 48 - i32.const 107 + i32.const 106 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 call $__ZN22GrpcService_GoogleGrpcC2Ev @@ -19074,7 +19074,7 @@ i32.const 19268 i32.const 19480 i32.store - i32.const 95 + i32.const 94 i32.const 19256 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -19948,7 +19948,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 108 + i32.const 107 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 7100 @@ -19993,7 +19993,7 @@ global.set $32 i32.const 19280 call $__ZN11GrpcServiceC2Ev - i32.const 95 + i32.const 94 i32.const 19280 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -22017,7 +22017,7 @@ end ;; $if_0 local.get $0 i32.const 40 - i32.const 109 + i32.const 108 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 call $__ZN11GrpcServiceC2Ev @@ -22106,7 +22106,7 @@ i32.store i32.const 19352 call $__ZN6google8protobuf6StructC2Ev - i32.const 95 + i32.const 94 i32.const 19352 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 19384 @@ -22127,12 +22127,12 @@ i32.const 19404 i32.const 0 i32.store - i32.const 95 + i32.const 94 i32.const 19384 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 19440 call $__ZN6google8protobuf9ListValueC2Ev - i32.const 95 + i32.const 94 i32.const 19440 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 19336 @@ -33077,7 +33077,7 @@ end ;; $if_0 local.get $1 i32.const 24 - i32.const 110 + i32.const 109 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i32.const 0 @@ -38237,7 +38237,7 @@ i32.store local.get $1 i32.const 5512 - i32.const 81 + i32.const 80 call $___cxa_throw end ;; $if_8 local.get $5 @@ -38986,12 +38986,12 @@ call_indirect $28 (type $2) ) - (func $_proxy_onStart (type $6) + (func $_proxy_onStart (type $7) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -39000,229 +39000,226 @@ (local $10 i32) (local $11 i32) (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) global.get $32 - local.set $8 + local.set $7 global.get $32 i32.const 32 i32.add global.set $32 - local.get $8 - i32.const 24 + local.get $7 + i32.const 28 i32.add local.set $9 - local.get $8 - i32.const 12 + local.get $7 + i32.const 16 i32.add - local.set $3 - local.get $8 + local.set $6 + local.get $7 i32.const 8 i32.add - local.set $10 + local.set $11 + local.get $7 + i32.const 12 + i32.add + local.set $12 i32.const 8 call $__Znwm - local.tee $7 + local.tee $8 local.get $1 i32.store - local.get $7 + local.get $8 local.get $2 i32.store offset=4 + local.get $1 + local.set $13 block $block - i32.const 19516 - i32.load - local.tee $4 - if $if + block $block_0 + i32.const 19516 + i32.load + local.tee $5 + i32.eqz + br_if $block_0 i32.const 19512 i32.load - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const -1 i32.add - local.tee $6 + local.tee $10 i32.and i32.eqz - local.tee $11 - if $if_0 (result i32) + local.tee $14 + if $if (result i32) local.get $0 - local.get $6 + local.get $10 i32.and else - local.get $4 + local.get $5 local.get $0 i32.gt_u - if $if_1 (result i32) + if $if_0 (result i32) local.get $0 else - local.get $4 - if $if_2 (result i32) + local.get $5 + if $if_1 (result i32) local.get $0 - local.get $4 + local.get $5 i32.rem_u else i32.const 0 - end ;; $if_2 - end ;; $if_1 - end ;; $if_0 - local.tee $12 + end ;; $if_1 + end ;; $if_0 + end ;; $if + local.tee $15 i32.const 2 i32.shl i32.add i32.load - local.tee $5 - if $if_3 - local.get $5 - i32.load - local.tee $5 - if $if_4 - block $block_0 - block $block_1 - local.get $11 - if $if_5 - loop $loop - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $4 - i32.eq - local.tee $11 - local.get $4 - local.get $6 - i32.and - local.get $12 - i32.eq - i32.or - i32.eqz - br_if $block_0 - local.get $11 - if $if_6 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - end ;; $if_6 - local.get $5 - i32.load - local.tee $5 - br_if $loop - br $block_0 - unreachable - end ;; $loop - unreachable - else - loop $loop_0 - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $6 - i32.eq - if $if_7 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - else - local.get $6 - local.get $4 - i32.ge_u - if $if_8 (result i32) - local.get $4 - if $if_9 (result i32) - local.get $6 - local.get $4 - i32.rem_u - else - i32.const 0 - end ;; $if_9 - else - local.get $6 - end ;; $if_8 - local.get $12 - i32.ne - br_if $block_0 - end ;; $if_7 - local.get $5 - i32.load - local.tee $5 - br_if $loop_0 - br $block_0 - unreachable - end ;; $loop_0 - unreachable - end ;; $if_5 - unreachable - end ;; $block_1 - local.get $5 - i32.load offset=12 - local.tee $0 - i32.load - i32.load offset=8 - local.set $1 + local.tee $1 + i32.eqz + br_if $block_0 + local.get $1 + i32.load + local.tee $1 + i32.eqz + br_if $block_0 + block $block_1 + local.get $14 + if $if_2 + loop $loop local.get $0 local.get $1 - i32.const 127 + i32.load offset=4 + local.tee $5 + i32.eq + local.tee $14 + local.get $5 + local.get $10 i32.and - call_indirect $28 (type $2) - local.tee $0 + local.get $15 + i32.eq + i32.or + i32.eqz + br_if $block_0 + local.get $14 + if $if_3 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + end ;; $if_3 + local.get $1 i32.load - i32.load offset=28 - local.set $1 + local.tee $1 + br_if $loop + br $block_0 + unreachable + end ;; $loop + unreachable + else + loop $loop_0 local.get $0 local.get $1 - i32.const 127 - i32.and - i32.const 248 - i32.add - call_indirect $28 (type $0) - br $block - end ;; $block_0 - end ;; $if_4 - end ;; $if_3 - end ;; $if - local.get $1 - local.set $4 + i32.load offset=4 + local.tee $10 + i32.eq + if $if_4 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + else + local.get $10 + local.get $5 + i32.ge_u + if $if_5 (result i32) + local.get $5 + if $if_6 (result i32) + local.get $10 + local.get $5 + i32.rem_u + else + i32.const 0 + end ;; $if_6 + else + local.get $10 + end ;; $if_5 + local.get $15 + i32.ne + br_if $block_0 + end ;; $if_4 + local.get $1 + i32.load + local.tee $1 + br_if $loop_0 + br $block_0 + unreachable + end ;; $loop_0 + unreachable + end ;; $if_2 + unreachable + end ;; $block_1 + local.get $1 + i32.load offset=12 + local.tee $0 + i32.load + i32.load offset=8 + local.set $1 + local.get $0 + local.get $1 + i32.const 127 + i32.and + call_indirect $28 (type $2) + local.set $0 + br $block + end ;; $block_0 i32.const 19552 i32.load i32.eqz - if $if_10 + if $if_7 i32.const 160 call $__Znwm - local.tee $3 + local.tee $5 i64.const 0 i64.store offset=4 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=12 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=20 - local.get $3 + local.get $5 i64.const 0 i64.store offset=24 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=32 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=40 - local.get $3 + local.get $5 i64.const 0 i64.store offset=44 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=52 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=60 - local.get $3 + local.get $5 i32.const -64 i32.sub local.get $0 i32.store - local.get $3 + local.get $5 i32.const 7804 i32.store - local.get $3 + local.get $5 i32.const 68 i32.add local.tee $1 @@ -39234,16 +39231,16 @@ local.get $2 i32.const -17 i32.gt_u - if $if_11 + if $if_8 call $_abort - end ;; $if_11 + end ;; $if_8 block $block_2 block $block_3 local.get $2 i32.const 11 i32.lt_u - if $if_12 - local.get $3 + if $if_9 + local.get $5 local.get $2 i32.store8 offset=79 local.get $2 @@ -39259,20 +39256,20 @@ call $__Znwm local.tee $1 i32.store - local.get $3 + local.get $5 local.get $6 i32.const -2147483648 i32.or i32.store offset=76 - local.get $3 + local.get $5 local.get $2 i32.store offset=72 br $block_3 - end ;; $if_12 + end ;; $if_9 br $block_2 end ;; $block_3 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -39282,40 +39279,40 @@ i32.add i32.const 0 i32.store8 - local.get $3 + local.get $5 i64.const 0 i64.store offset=80 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=88 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=96 - local.get $3 + local.get $5 i64.const 0 i64.store offset=100 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=108 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=116 - local.get $3 + local.get $5 i64.const 0 i64.store offset=120 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=128 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=136 - local.get $3 + local.get $5 i64.const 0 i64.store offset=140 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=148 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=156 local.get $9 @@ -39327,10 +39324,10 @@ i32.load local.set $0 local.get $1 - local.get $3 + local.get $5 i32.store local.get $0 - if $if_13 + if $if_10 local.get $0 local.get $0 i32.load @@ -39340,73 +39337,66 @@ i32.const 248 i32.add call_indirect $28 (type $0) - end ;; $if_13 - local.get $3 - local.get $3 - i32.load - i32.load offset=28 - i32.const 127 - i32.and - i32.const 248 - i32.add - call_indirect $28 (type $0) + end ;; $if_10 + local.get $5 + local.set $0 br $block - end ;; $if_10 - local.get $3 + end ;; $if_7 + local.get $6 i64.const 0 i64.store align=4 - local.get $3 + local.get $6 i32.const 0 i32.store offset=8 local.get $2 i32.const -17 i32.gt_u - if $if_14 + if $if_11 call $_abort - end ;; $if_14 + end ;; $if_11 block $block_4 block $block_5 local.get $2 i32.const 11 i32.lt_u - if $if_15 (result i32) - local.get $3 + if $if_12 (result i32) + local.get $6 local.get $2 i32.store8 offset=11 local.get $2 - if $if_16 (result i32) - local.get $3 + if $if_13 (result i32) + local.get $6 local.set $1 br $block_5 else - local.get $3 - end ;; $if_16 + local.get $6 + end ;; $if_13 else - local.get $3 + local.get $6 local.get $2 i32.const 16 i32.add i32.const -16 i32.and - local.tee $6 + local.tee $5 call $__Znwm local.tee $1 i32.store - local.get $3 local.get $6 + local.get $5 i32.const -2147483648 i32.or i32.store offset=8 - local.get $3 + local.get $6 local.get $2 i32.store offset=4 br $block_5 - end ;; $if_15 + end ;; $if_12 local.set $1 br $block_4 end ;; $block_5 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -39418,18 +39408,18 @@ i32.store8 i32.const 19552 i32.load - local.get $3 + local.get $6 call $__ZNSt3__212__hash_tableINS_17__hash_value_typeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_8functionIFNS_10unique_ptrI11RootContextNS_14default_deleteISA_EEEEjNS_17basic_string_viewIcS4_EEEEEEENS_22__unordered_map_hasherIS7_SI_NS_4hashIS7_EELb1EEENS_21__unordered_map_equalIS7_SI_NS_8equal_toIS7_EELb1EEENS5_ISI_EEE4findIS7_EENS_15__hash_iteratorIPNS_11__hash_nodeISI_PvEEEERKT_ local.tee $1 - if $if_17 (result i32) - local.get $7 + if $if_14 (result i32) + local.get $8 i32.load offset=4 local.set $2 - local.get $8 local.get $7 + local.get $8 i32.load i32.store - local.get $8 + local.get $7 local.get $2 i32.store offset=4 local.get $9 @@ -39439,7 +39429,7 @@ i32.load offset=40 local.tee $1 i32.eqz - if $if_18 + if $if_15 i32.const 4 call $___cxa_allocate_exception local.tee $2 @@ -39447,13 +39437,13 @@ i32.store local.get $2 i32.const 5512 - i32.const 81 + i32.const 80 call $___cxa_throw - end ;; $if_18 - local.get $10 + end ;; $if_15 + local.get $11 local.get $1 local.get $9 - local.get $8 + local.get $7 local.get $1 i32.load i32.load offset=24 @@ -39462,7 +39452,7 @@ i32.const 508 i32.add call_indirect $28 (type $5) - local.get $10 + local.get $11 i32.load local.tee $1 i32.load @@ -39474,7 +39464,7 @@ i32.and call_indirect $28 (type $2) local.set $1 - local.get $3 + local.get $6 call $__ZNSt3__213unordered_mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEP11RootContextNS_4hashIS6_EENS_8equal_toIS6_EENS4_INS_4pairIKS6_S8_EEEEEixERSE_ local.get $1 i32.store @@ -39484,20 +39474,20 @@ local.get $9 call $__ZNSt3__213unordered_mapIiNS_10unique_ptrI11ContextBaseNS_14default_deleteIS2_EEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEEixEOi local.set $2 - local.get $10 + local.get $11 i32.load - local.set $4 - local.get $10 + local.set $5 + local.get $11 i32.const 0 i32.store local.get $2 i32.load local.set $0 local.get $2 - local.get $4 + local.get $5 i32.store local.get $0 - if $if_19 + if $if_16 local.get $0 local.get $0 i32.load @@ -39507,15 +39497,15 @@ i32.const 248 i32.add call_indirect $28 (type $0) - end ;; $if_19 - local.get $10 + end ;; $if_16 + local.get $11 i32.load local.set $0 - local.get $10 + local.get $11 i32.const 0 i32.store local.get $0 - if $if_20 + if $if_17 local.get $0 local.get $0 i32.load @@ -39525,15 +39515,15 @@ i32.const 248 i32.add call_indirect $28 (type $0) - end ;; $if_20 + end ;; $if_17 local.get $1 else - local.get $7 + local.get $8 i32.load - local.set $6 - local.get $7 + local.set $10 + local.get $8 i32.load offset=4 - local.set $4 + local.set $5 i32.const 160 call $__Znwm local.tee $2 @@ -39580,54 +39570,54 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $4 + local.get $5 i32.const -17 i32.gt_u - if $if_21 + if $if_18 call $_abort - end ;; $if_21 + end ;; $if_18 block $block_6 block $block_7 - local.get $4 + local.get $5 i32.const 11 i32.lt_u - if $if_22 + if $if_19 local.get $2 - local.get $4 + local.get $5 i32.store8 offset=79 - local.get $4 + local.get $5 br_if $block_7 else local.get $1 - local.get $4 + local.get $5 i32.const 16 i32.add i32.const -16 i32.and - local.tee $5 + local.tee $13 call $__Znwm local.tee $1 i32.store local.get $2 - local.get $5 + local.get $13 i32.const -2147483648 i32.or i32.store offset=76 local.get $2 - local.get $4 + local.get $5 i32.store offset=72 br $block_7 - end ;; $if_22 + end ;; $if_19 br $block_6 end ;; $block_7 local.get $1 - local.get $6 - local.get $4 + local.get $10 + local.get $5 call $_memcpy drop end ;; $block_6 local.get $1 - local.get $4 + local.get $5 i32.add i32.const 0 i32.store8 @@ -39679,7 +39669,7 @@ local.get $2 i32.store local.get $0 - if $if_23 + if $if_20 local.get $0 local.get $0 i32.load @@ -39689,43 +39679,72 @@ i32.const 248 i32.add call_indirect $28 (type $0) - end ;; $if_23 + end ;; $if_20 local.get $2 - end ;; $if_17 + end ;; $if_14 local.set $0 - local.get $3 + local.get $6 i32.load8_s offset=11 i32.const 0 i32.lt_s - if $if_24 - local.get $3 + if $if_21 + local.get $6 i32.load call $_free - end ;; $if_24 - local.get $0 - local.get $0 - i32.load - i32.load offset=28 - i32.const 127 - i32.and - i32.const 248 - i32.add - call_indirect $28 (type $0) - local.get $7 + end ;; $if_21 + end ;; $block + local.get $0 + i32.load + i32.load offset=28 + local.set $2 + i32.const 8 + call $__Znwm + local.tee $1 + local.get $3 + i32.store + local.get $1 + local.get $4 + i32.store offset=4 + local.get $12 + local.get $1 + i32.store + local.get $0 + local.get $12 + local.get $2 + i32.const 127 + i32.and + i32.const 376 + i32.add + call_indirect $28 (type $1) + local.get $12 + i32.load + local.set $0 + local.get $12 + i32.const 0 + i32.store + local.get $0 + i32.eqz + if $if_22 + local.get $8 i32.load call $_free - local.get $7 - call $_free local.get $8 + call $_free + local.get $7 global.set $32 return - end ;; $block - local.get $7 + end ;; $if_22 + local.get $0 i32.load call $_free - local.get $7 + local.get $0 + call $_free + local.get $8 + i32.load call $_free local.get $8 + call $_free + local.get $7 global.set $32 ) @@ -41552,7 +41571,7 @@ i32.store local.get $1 i32.const 5608 - i32.const 88 + i32.const 87 call $___cxa_throw end ;; $if_1 local.get $0 @@ -42099,7 +42118,7 @@ i32.store local.get $1 i32.const 5608 - i32.const 88 + i32.const 87 call $___cxa_throw end ;; $if_1 local.get $0 @@ -42867,7 +42886,7 @@ i32.store local.get $1 i32.const 5512 - i32.const 81 + i32.const 80 call $___cxa_throw end ;; $if_8 local.get $0 @@ -43720,7 +43739,7 @@ i32.store local.get $1 i32.const 5512 - i32.const 81 + i32.const 80 call $___cxa_throw end ;; $if_10 local.get $0 @@ -44299,7 +44318,7 @@ i32.store local.get $1 i32.const 5512 - i32.const 81 + i32.const 80 call $___cxa_throw end ;; $if_10 local.get $0 @@ -47600,7 +47619,7 @@ i32.store local.get $2 i32.const 5608 - i32.const 88 + i32.const 87 call $___cxa_throw end ;; $if_1 local.get $1 @@ -48137,7 +48156,7 @@ call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_ local.get $2 i32.const 5000 - i32.const 76 + i32.const 75 call $___cxa_throw else local.get $1 @@ -48164,7 +48183,7 @@ i32.const 19564 local.get $0 i32.store - i32.const 112 + i32.const 111 i32.const 18 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -48417,7 +48436,7 @@ i32.store local.get $3 i32.const 5608 - i32.const 88 + i32.const 87 call $___cxa_throw else local.get $2 @@ -49592,14 +49611,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 93 + i32.const 92 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 93 + i32.const 92 i32.store offset=4 local.get $2 local.get $0 @@ -49648,14 +49667,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 93 + i32.const 92 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 93 + i32.const 92 i32.store offset=4 local.get $2 local.get $0 @@ -59919,7 +59938,7 @@ i32.const 19488 i32.const 0 i32.store - i32.const 113 + i32.const 112 i32.const 19480 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ end ;; $if_5 @@ -72596,7 +72615,7 @@ end ;; $block_0 local.get $0 local.get $2 - i32.const 442 + i32.const 443 call_indirect $28 (type $1) end ;; $block end ;; $if @@ -80640,7 +80659,7 @@ i32.const 1 i32.store local.get $0 - i32.const 359 + i32.const 358 call_indirect $28 (type $0) i32.const 19560 i32.const -1 diff --git a/test/extensions/filters/http/wasm/test_data/grpc_callout_cpp.cc b/test/extensions/filters/http/wasm/test_data/grpc_callout_cpp.cc index 2770b0a9a9e4..b13a4528a205 100644 --- a/test/extensions/filters/http/wasm/test_data/grpc_callout_cpp.cc +++ b/test/extensions/filters/http/wasm/test_data/grpc_callout_cpp.cc @@ -8,7 +8,7 @@ class ServiceContext : public RootContext { public: explicit ServiceContext(uint32_t id, StringView root_id) : RootContext(id, root_id) {} - void onStart() override { + void onStart(WasmDataPtr /* vm_configuration */) override { callout_success_counter_ = defineMetric(MetricType::Counter, "test_callout_successes"); callout_failure_counter_ = defineMetric(MetricType::Counter, "test_callout_failures"); } diff --git a/test/extensions/filters/http/wasm/test_data/grpc_callout_cpp.wasm b/test/extensions/filters/http/wasm/test_data/grpc_callout_cpp.wasm index 2143755c4829..ad2a61b2ea68 100644 Binary files a/test/extensions/filters/http/wasm/test_data/grpc_callout_cpp.wasm and b/test/extensions/filters/http/wasm/test_data/grpc_callout_cpp.wasm differ diff --git a/test/extensions/filters/http/wasm/test_data/grpc_callout_cpp.wat b/test/extensions/filters/http/wasm/test_data/grpc_callout_cpp.wat index f26e3755a0bb..213993316a3d 100644 --- a/test/extensions/filters/http/wasm/test_data/grpc_callout_cpp.wat +++ b/test/extensions/filters/http/wasm/test_data/grpc_callout_cpp.wat @@ -145,29 +145,29 @@ $b6 $b6 $b6 $b6 $b6 $b6 $b6 $b6 $b7 $__ZN11ContextBaseD2Ev $__ZN14RequestContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN22CalloutResponseHandlerD0Ev $__ZN7Context8onCreateEv $__ZN14RequestContextD0Ev $__ZN7Context8onCreateEv $__ZN22CalloutResponseHandlerD0Ev $__ZN7Context8onCreateEv $__ZN22CalloutResponseHandlerD0Ev $__ZN7Context8onCreateEv - $__ZN22CalloutResponseHandlerD0Ev $__ZN7Context8onCreateEv $__ZN22CalloutResponseHandlerD0Ev $__ZN11RootContextD2Ev $__ZN14ServiceContextD0Ev $__ZN14ServiceContext7onStartEv $__ZN7Context8onCreateEv $__ZN14ServiceContextD0Ev - $__ZN7Context8onCreateEv $__ZN10DataSourceD2Ev $__ZN10DataSourceD0Ev $__ZN10DataSource5ClearEv $__ZN3AnyD2Ev $__ZN3AnyD0Ev $__ZN3Any5ClearEv $__ZN21GrpcService_EnvoyGrpcD2Ev - $__ZN21GrpcService_EnvoyGrpcD0Ev $__ZN21GrpcService_EnvoyGrpc5ClearEv $__ZN37GrpcService_GoogleGrpc_SslCredentialsD2Ev $__ZN37GrpcService_GoogleGrpc_SslCredentialsD0Ev $__ZN37GrpcService_GoogleGrpc_SslCredentials5ClearEv $__ZN45GrpcService_GoogleGrpc_GoogleLocalCredentialsD2Ev $__ZN45GrpcService_GoogleGrpc_GoogleLocalCredentialsD0Ev $__ZN45GrpcService_GoogleGrpc_GoogleLocalCredentials5ClearEv - $__ZN28GrpcService_GoogleGrpc_EmptyD2Ev $__ZN28GrpcService_GoogleGrpc_EmptyD0Ev $__ZN45GrpcService_GoogleGrpc_GoogleLocalCredentials5ClearEv $__ZN41GrpcService_GoogleGrpc_ChannelCredentialsD2Ev $__ZN41GrpcService_GoogleGrpc_ChannelCredentialsD0Ev $__ZN41GrpcService_GoogleGrpc_ChannelCredentials5ClearEv $__ZN73GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsD2Ev $__ZN73GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsD0Ev - $__ZN73GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials5ClearEv $__ZN59GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsD2Ev $__ZN59GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsD0Ev $__ZN3Any5ClearEv $__ZN68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginD2Ev $__ZN68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginD0Ev $__ZN68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin5ClearEv $__ZN38GrpcService_GoogleGrpc_CallCredentialsD2Ev - $__ZN38GrpcService_GoogleGrpc_CallCredentialsD0Ev $__ZN38GrpcService_GoogleGrpc_CallCredentials5ClearEv $__ZN22GrpcService_GoogleGrpcD2Ev $__ZN22GrpcService_GoogleGrpcD0Ev $__ZN22GrpcService_GoogleGrpc5ClearEv $__ZN23GrpcService_HeaderValueD2Ev $__ZN23GrpcService_HeaderValueD0Ev $__ZN3Any5ClearEv - $__ZN11GrpcServiceD2Ev $__ZN11GrpcServiceD0Ev $__ZN11GrpcService5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv $__ZN6google8protobuf5ValueD2Ev $__ZN6google8protobuf5ValueD0Ev - $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf6StructD2Ev $__ZN6google8protobuf6StructD0Ev $__ZN6google8protobuf6Struct5ClearEv - $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN14RequestContextD0Ev $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZN22CalloutResponseHandlerD0Ev $__ZN22CalloutResponseHandlerD0Ev $__ZN7Context8onCreateEv - $__ZN22CalloutResponseHandlerD0Ev $__ZN7Context8onCreateEv $__ZN22CalloutResponseHandlerD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN22CalloutResponseHandlerD0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev - $__ZNSt11logic_errorD0Ev $__ZN22CalloutResponseHandlerD0Ev $__ZN22CalloutResponseHandlerD0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv + $__ZN22CalloutResponseHandlerD0Ev $__ZN7Context8onCreateEv $__ZN22CalloutResponseHandlerD0Ev $__ZN11RootContextD2Ev $__ZN14ServiceContextD0Ev $__ZN7Context8onCreateEv $__ZN14ServiceContextD0Ev $__ZN10DataSourceD2Ev + $__ZN10DataSourceD0Ev $__ZN10DataSource5ClearEv $__ZN3AnyD2Ev $__ZN3AnyD0Ev $__ZN3Any5ClearEv $__ZN21GrpcService_EnvoyGrpcD2Ev $__ZN21GrpcService_EnvoyGrpcD0Ev $__ZN21GrpcService_EnvoyGrpc5ClearEv + $__ZN37GrpcService_GoogleGrpc_SslCredentialsD2Ev $__ZN37GrpcService_GoogleGrpc_SslCredentialsD0Ev $__ZN37GrpcService_GoogleGrpc_SslCredentials5ClearEv $__ZN45GrpcService_GoogleGrpc_GoogleLocalCredentialsD2Ev $__ZN45GrpcService_GoogleGrpc_GoogleLocalCredentialsD0Ev $__ZN45GrpcService_GoogleGrpc_GoogleLocalCredentials5ClearEv $__ZN28GrpcService_GoogleGrpc_EmptyD2Ev $__ZN28GrpcService_GoogleGrpc_EmptyD0Ev + $__ZN45GrpcService_GoogleGrpc_GoogleLocalCredentials5ClearEv $__ZN41GrpcService_GoogleGrpc_ChannelCredentialsD2Ev $__ZN41GrpcService_GoogleGrpc_ChannelCredentialsD0Ev $__ZN41GrpcService_GoogleGrpc_ChannelCredentials5ClearEv $__ZN73GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsD2Ev $__ZN73GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsD0Ev $__ZN73GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials5ClearEv $__ZN59GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsD2Ev + $__ZN59GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsD0Ev $__ZN3Any5ClearEv $__ZN68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginD2Ev $__ZN68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginD0Ev $__ZN68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin5ClearEv $__ZN38GrpcService_GoogleGrpc_CallCredentialsD2Ev $__ZN38GrpcService_GoogleGrpc_CallCredentialsD0Ev $__ZN38GrpcService_GoogleGrpc_CallCredentials5ClearEv + $__ZN22GrpcService_GoogleGrpcD2Ev $__ZN22GrpcService_GoogleGrpcD0Ev $__ZN22GrpcService_GoogleGrpc5ClearEv $__ZN23GrpcService_HeaderValueD2Ev $__ZN23GrpcService_HeaderValueD0Ev $__ZN3Any5ClearEv $__ZN11GrpcServiceD2Ev $__ZN11GrpcServiceD0Ev + $__ZN11GrpcService5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv $__ZN6google8protobuf5ValueD2Ev $__ZN6google8protobuf5ValueD0Ev $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev + $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf6StructD2Ev $__ZN6google8protobuf6StructD0Ev $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN14RequestContextD0Ev + $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZN22CalloutResponseHandlerD0Ev $__ZN22CalloutResponseHandlerD0Ev $__ZN7Context8onCreateEv $__ZN22CalloutResponseHandlerD0Ev $__ZN7Context8onCreateEv + $__ZN22CalloutResponseHandlerD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN22CalloutResponseHandlerD0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZN22CalloutResponseHandlerD0Ev + $__ZN22CalloutResponseHandlerD0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv - $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv - $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 $b7 $b7 $b7 - $b8 $__ZN15GrpcCallHandlerIN6google8protobuf5ValueEE9onSuccessENSt3__210unique_ptrI8WasmDataNS4_14default_deleteIS6_EEEE $__ZN22CalloutResponseHandler9onSuccessEON6google8protobuf5ValueE $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE $__ZNKSt3__210__function6__funcI3__1NS_9allocatorIS2_EEFNS_10unique_ptrI11RootContextNS_14default_deleteIS6_EEEEjNS_17basic_string_viewIcNS_11char_traitsIcEEEEEE7__cloneEPNS0_6__baseISE_EE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj - $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZNK10DataSource11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN10DataSource21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK10DataSource24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK3Any11GetTypeNameEv $__ZN3Any21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE - $__ZNK3Any24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK21GrpcService_EnvoyGrpc11GetTypeNameEv $__ZN21GrpcService_EnvoyGrpc21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK21GrpcService_EnvoyGrpc24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK37GrpcService_GoogleGrpc_SslCredentials11GetTypeNameEv $__ZN37GrpcService_GoogleGrpc_SslCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK37GrpcService_GoogleGrpc_SslCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK45GrpcService_GoogleGrpc_GoogleLocalCredentials11GetTypeNameEv - $__ZN45GrpcService_GoogleGrpc_GoogleLocalCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK45GrpcService_GoogleGrpc_GoogleLocalCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK28GrpcService_GoogleGrpc_Empty11GetTypeNameEv $__ZN28GrpcService_GoogleGrpc_Empty21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK45GrpcService_GoogleGrpc_GoogleLocalCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK41GrpcService_GoogleGrpc_ChannelCredentials11GetTypeNameEv $__ZN41GrpcService_GoogleGrpc_ChannelCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK41GrpcService_GoogleGrpc_ChannelCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE - $__ZNK73GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials11GetTypeNameEv $__ZN73GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK73GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK59GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials11GetTypeNameEv $__ZN59GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK59GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin11GetTypeNameEv $__ZN68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE - $__ZNK68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK38GrpcService_GoogleGrpc_CallCredentials11GetTypeNameEv $__ZN38GrpcService_GoogleGrpc_CallCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK38GrpcService_GoogleGrpc_CallCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK22GrpcService_GoogleGrpc11GetTypeNameEv $__ZN22GrpcService_GoogleGrpc21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK22GrpcService_GoogleGrpc24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK23GrpcService_HeaderValue11GetTypeNameEv - $__ZN23GrpcService_HeaderValue21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK23GrpcService_HeaderValue24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK11GrpcService11GetTypeNameEv $__ZN11GrpcService21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK11GrpcService24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE - $__ZNK6google8protobuf5Value11GetTypeNameEv $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf9ListValue11GetTypeNameEv $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE - $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double $b8 $b8 $b8 $b8 + $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectI10DataSourceEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 + $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 + $b8 $__ZN15GrpcCallHandlerIN6google8protobuf5ValueEE9onSuccessENSt3__210unique_ptrI8WasmDataNS4_14default_deleteIS6_EEEE $__ZN22CalloutResponseHandler9onSuccessEON6google8protobuf5ValueE $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE $__ZNKSt3__210__function6__funcI3__1NS_9allocatorIS2_EEFNS_10unique_ptrI11RootContextNS_14default_deleteIS6_EEEEjNS_17basic_string_viewIcNS_11char_traitsIcEEEEEE7__cloneEPNS0_6__baseISE_EE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN14ServiceContext7onStartENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE + $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZNK10DataSource11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN10DataSource21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK10DataSource24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE + $__ZNK3Any11GetTypeNameEv $__ZN3Any21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK3Any24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK21GrpcService_EnvoyGrpc11GetTypeNameEv $__ZN21GrpcService_EnvoyGrpc21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK21GrpcService_EnvoyGrpc24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK37GrpcService_GoogleGrpc_SslCredentials11GetTypeNameEv $__ZN37GrpcService_GoogleGrpc_SslCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE + $__ZNK37GrpcService_GoogleGrpc_SslCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK45GrpcService_GoogleGrpc_GoogleLocalCredentials11GetTypeNameEv $__ZN45GrpcService_GoogleGrpc_GoogleLocalCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK45GrpcService_GoogleGrpc_GoogleLocalCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK28GrpcService_GoogleGrpc_Empty11GetTypeNameEv $__ZN28GrpcService_GoogleGrpc_Empty21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK45GrpcService_GoogleGrpc_GoogleLocalCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK41GrpcService_GoogleGrpc_ChannelCredentials11GetTypeNameEv + $__ZN41GrpcService_GoogleGrpc_ChannelCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK41GrpcService_GoogleGrpc_ChannelCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK73GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials11GetTypeNameEv $__ZN73GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK73GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK59GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials11GetTypeNameEv $__ZN59GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK59GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE + $__ZNK68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin11GetTypeNameEv $__ZN68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK68GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK38GrpcService_GoogleGrpc_CallCredentials11GetTypeNameEv $__ZN38GrpcService_GoogleGrpc_CallCredentials21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK38GrpcService_GoogleGrpc_CallCredentials24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK22GrpcService_GoogleGrpc11GetTypeNameEv $__ZN22GrpcService_GoogleGrpc21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE + $__ZNK22GrpcService_GoogleGrpc24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK23GrpcService_HeaderValue11GetTypeNameEv $__ZN23GrpcService_HeaderValue21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK23GrpcService_HeaderValue24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK11GrpcService11GetTypeNameEv $__ZN11GrpcService21CheckTypeAndMergeFromERKN6google8protobuf11MessageLiteE $__ZNK11GrpcService24SerializeWithCachedSizesEPN6google8protobuf2io17CodedOutputStreamE $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv + $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf5Value11GetTypeNameEv $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf9ListValue11GetTypeNameEv $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE + $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 @@ -297,60 +297,60 @@ "\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\d0\11\00\00\07\00\00\00\08\00\00\00\09\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00p\11\00\00\01\00\00\00\n\00\00\00\09\00\00\00" "\n\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\e8\11\00\00\0b\00\00\00\0c\00\00\00\0b\00\00\00\03\00\00\00\0d\00\00\00\0e\00\00\00\01\00\00\00\03\00\00\00\0c\00\00\00\00\00\00\00\08\12\00\00" "\0f\00\00\00\10\00\00\00\0d\00\00\00\04\00\00\00\11\00\00\00\12\00\00\00\02\00\00\00\04\00\00\00\0e\00\00\00\00\00\00\00(\12\00\00\13\00\00\00\14\00\00\00\0f\00\00\00\10\00\00\00\01\00\00\00" - "\02\00\00\00\05\00\00\00\15\00\00\00\16\00\00\00\06\00\00\00\01\00\00\00\07\00\00\00\08\00\00\00\09\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\18\12\00\00\13\00\00\00\17\00\00\00\0f\00\00\00" - "\10\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00\18\00\00\00\16\00\00\00\06\00\00\00\01\00\00\00\07\00\00\00\08\00\00\00\09\00\00\00\02\00\00\00\03\00\00\00\ff\ff\ff\ff\00\00\00\00\01") + "\02\00\00\00\05\00\00\00\06\00\00\00\15\00\00\00\07\00\00\00\01\00\00\00\08\00\00\00\09\00\00\00\n\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\18\12\00\00\13\00\00\00\16\00\00\00\0f\00\00\00" + "\10\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00\0b\00\00\00\15\00\00\00\07\00\00\00\01\00\00\00\08\00\00\00\09\00\00\00\n\00\00\00\02\00\00\00\03\00\00\00\ff\ff\ff\ff\00\00\00\00\01") (data $67 $29 (i32.const 6148) - "H\12\00\00\19\00\00\00\1a\00\00\00\n\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\1b\00\00\00\14\00\00\00\0b\00\00\00\0c\00\00\00\06\00\00\00\15\00\00\00\0d\00\00\00\07\00\00\00" + "H\12\00\00\17\00\00\00\18\00\00\00\0c\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\19\00\00\00\14\00\00\00\0d\00\00\00\0e\00\00\00\06\00\00\00\15\00\00\00\0f\00\00\00\07\00\00\00" "\16\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\00\00\00\00\02") (data $68 $29 (i32.const 6244) - "X\12\00\00\1c\00\00\00\1d\00\00\00\0e\00\00\00\18\00\00\00\08\00\00\00\12\00\00\00\13\00\00\00\1e\00\00\00\19\00\00\00\0b\00\00\00\0f\00\00\00\09\00\00\00\1a\00\00\00\10\00\00\00\07\00\00\00" + "X\12\00\00\1a\00\00\00\1b\00\00\00\10\00\00\00\18\00\00\00\08\00\00\00\12\00\00\00\13\00\00\00\1c\00\00\00\19\00\00\00\0d\00\00\00\11\00\00\00\09\00\00\00\1a\00\00\00\12\00\00\00\07\00\00\00" "\1b\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\00\00\00\00\03") (data $69 $29 (i32.const 6340) - "h\12\00\00\1f\00\00\00 \00\00\00\11\00\00\00\1c\00\00\00\n\00\00\00\12\00\00\00\13\00\00\00!\00\00\00\1d\00\00\00\0b\00\00\00\12\00\00\00\0b\00\00\00\1e\00\00\00\13\00\00\00\07\00\00\00" - "\1f\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\01\00\00\00\04\00\00\00\f0\17\00\00\00\00\00\00x\12\00\00\"\00\00\00#\00\00\00\14\00\00\00 \00\00\00\0c\00\00\00\12\00\00\00\13\00\00\00" - "$\00\00\00!\00\00\00\0b\00\00\00\15\00\00\00\0d\00\00\00\"\00\00\00\16\00\00\00\07\00\00\00#\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\00\00\00\00\05") + "h\12\00\00\1d\00\00\00\1e\00\00\00\13\00\00\00\1c\00\00\00\n\00\00\00\12\00\00\00\13\00\00\00\1f\00\00\00\1d\00\00\00\0d\00\00\00\14\00\00\00\0b\00\00\00\1e\00\00\00\15\00\00\00\07\00\00\00" + "\1f\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\01\00\00\00\04\00\00\00\f0\17\00\00\00\00\00\00x\12\00\00 \00\00\00!\00\00\00\16\00\00\00 \00\00\00\0c\00\00\00\12\00\00\00\13\00\00\00" + "\"\00\00\00!\00\00\00\0d\00\00\00\17\00\00\00\0d\00\00\00\"\00\00\00\18\00\00\00\07\00\00\00#\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\00\00\00\00\05") (data $70 $29 (i32.const 6532) - "\88\12\00\00%\00\00\00&\00\00\00\17\00\00\00$\00\00\00\0e\00\00\00\12\00\00\00\13\00\00\00'\00\00\00%\00\00\00\0b\00\00\00\18\00\00\00\0f\00\00\00&\00\00\00\19\00\00\00\07\00\00\00" + "\88\12\00\00#\00\00\00$\00\00\00\19\00\00\00$\00\00\00\0e\00\00\00\12\00\00\00\13\00\00\00%\00\00\00%\00\00\00\0d\00\00\00\1a\00\00\00\0f\00\00\00&\00\00\00\1b\00\00\00\07\00\00\00" "'\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\00\00\00\00\06") (data $71 $29 (i32.const 6628) - "\98\12\00\00(\00\00\00)\00\00\00\1a\00\00\00(\00\00\00\10\00\00\00\12\00\00\00\13\00\00\00*\00\00\00)\00\00\00\0b\00\00\00\1b\00\00\00\11\00\00\00*\00\00\00\1c\00\00\00\07\00\00\00" - "+\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\03\00\00\00\07\00\00\00\10\19\00\00\d0\19\00\00p\19\00\00\00\00\00\00\a8\12\00\00+\00\00\00,\00\00\00\1d\00\00\00,\00\00\00\12\00\00\00" - "\12\00\00\00\13\00\00\00-\00\00\00-\00\00\00\0b\00\00\00\1e\00\00\00\13\00\00\00.\00\00\00\1f\00\00\00\07\00\00\00/\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\00\00\00\00\08") + "\98\12\00\00&\00\00\00'\00\00\00\1c\00\00\00(\00\00\00\10\00\00\00\12\00\00\00\13\00\00\00(\00\00\00)\00\00\00\0d\00\00\00\1d\00\00\00\11\00\00\00*\00\00\00\1e\00\00\00\07\00\00\00" + "+\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\03\00\00\00\07\00\00\00\10\19\00\00\d0\19\00\00p\19\00\00\00\00\00\00\a8\12\00\00)\00\00\00*\00\00\00\1f\00\00\00,\00\00\00\12\00\00\00" + "\12\00\00\00\13\00\00\00+\00\00\00-\00\00\00\0d\00\00\00 \00\00\00\13\00\00\00.\00\00\00!\00\00\00\07\00\00\00/\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\00\00\00\00\08") (data $72 $29 (i32.const 6828) - "\b8\12\00\00.\00\00\00/\00\00\00 \00\00\000\00\00\00\14\00\00\00\12\00\00\00\13\00\00\000\00\00\001\00\00\00\0b\00\00\00!\00\00\00\15\00\00\002\00\00\00\"\00\00\00\07\00\00\00" + "\b8\12\00\00,\00\00\00-\00\00\00\"\00\00\000\00\00\00\14\00\00\00\12\00\00\00\13\00\00\00.\00\00\001\00\00\00\0d\00\00\00#\00\00\00\15\00\00\002\00\00\00$\00\00\00\07\00\00\00" "3\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\00\00\00\00\09") (data $73 $29 (i32.const 6924) - "\c8\12\00\001\00\00\002\00\00\00#\00\00\004\00\00\00\16\00\00\00\12\00\00\00\13\00\00\003\00\00\005\00\00\00\0b\00\00\00$\00\00\00\17\00\00\006\00\00\00%\00\00\00\07\00\00\00" - "7\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\02\00\00\00\n\00\00\00X\1d\00\00P\18\00\00\00\00\00\00\d8\12\00\004\00\00\005\00\00\00&\00\00\008\00\00\00\18\00\00\00\12\00\00\00" - "\13\00\00\006\00\00\009\00\00\00\0b\00\00\00'\00\00\00\19\00\00\00:\00\00\00(\00\00\00\07\00\00\00;\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\04\00\00\00\0b\00\00\00\d0\19\00\00" - "\98\1a\00\00\f8\1a\00\00X\1b\00\00\00\00\00\00\e8\12\00\007\00\00\008\00\00\00)\00\00\00<\00\00\00\1a\00\00\00\12\00\00\00\13\00\00\009\00\00\00=\00\00\00\0b\00\00\00*\00\00\00" - "\1b\00\00\00>\00\00\00+\00\00\00\07\00\00\00?\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\03\00\00\00\0c\00\00\000\1a\00\00\bc\1b\00\00X\1d\00\00\00\00\00\00\f8\12\00\00:\00\00\00" - ";\00\00\00,\00\00\00@\00\00\00\1c\00\00\00\12\00\00\00\13\00\00\00<\00\00\00A\00\00\00\0b\00\00\00-\00\00\00\1d\00\00\00B\00\00\00.\00\00\00\07\00\00\00C\00\00\00\03\00\00\00" + "\c8\12\00\00/\00\00\000\00\00\00%\00\00\004\00\00\00\16\00\00\00\12\00\00\00\13\00\00\001\00\00\005\00\00\00\0d\00\00\00&\00\00\00\17\00\00\006\00\00\00'\00\00\00\07\00\00\00" + "7\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\02\00\00\00\n\00\00\00X\1d\00\00P\18\00\00\00\00\00\00\d8\12\00\002\00\00\003\00\00\00(\00\00\008\00\00\00\18\00\00\00\12\00\00\00" + "\13\00\00\004\00\00\009\00\00\00\0d\00\00\00)\00\00\00\19\00\00\00:\00\00\00*\00\00\00\07\00\00\00;\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\04\00\00\00\0b\00\00\00\d0\19\00\00" + "\98\1a\00\00\f8\1a\00\00X\1b\00\00\00\00\00\00\e8\12\00\005\00\00\006\00\00\00+\00\00\00<\00\00\00\1a\00\00\00\12\00\00\00\13\00\00\007\00\00\00=\00\00\00\0d\00\00\00,\00\00\00" + "\1b\00\00\00>\00\00\00-\00\00\00\07\00\00\00?\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\03\00\00\00\0c\00\00\000\1a\00\00\bc\1b\00\00X\1d\00\00\00\00\00\00\f8\12\00\008\00\00\00" + "9\00\00\00.\00\00\00@\00\00\00\1c\00\00\00\12\00\00\00\13\00\00\00:\00\00\00A\00\00\00\0d\00\00\00/\00\00\00\1d\00\00\00B\00\00\000\00\00\00\07\00\00\00C\00\00\00\03\00\00\00" "\17\00\00\00\ff\ff\ff\ff\00\00\00\00\0d") (data $74 $29 (i32.const 7332) - "\08\13\00\00=\00\00\00>\00\00\00/\00\00\00D\00\00\00\1e\00\00\00\12\00\00\00\13\00\00\00?\00\00\00E\00\00\00\0b\00\00\000\00\00\00\1f\00\00\00F\00\00\001\00\00\00\07\00\00\00" - "G\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\03\00\00\00\0e\00\00\00\b0\18\00\00(\1c\00\00\90\1c\00\00\00\00\00\00\18\13\00\00@\00\00\00A\00\00\002\00\00\00H\00\00\00 \00\00\00" - "\12\00\00\00\13\00\00\00B\00\00\00I\00\00\00\0b\00\00\003\00\00\00!\00\00\00J\00\00\004\00\00\00\07\00\00\00K\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\00\00\00\00\0f") + "\08\13\00\00;\00\00\00<\00\00\001\00\00\00D\00\00\00\1e\00\00\00\12\00\00\00\13\00\00\00=\00\00\00E\00\00\00\0d\00\00\002\00\00\00\1f\00\00\00F\00\00\003\00\00\00\07\00\00\00" + "G\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\03\00\00\00\0e\00\00\00\b0\18\00\00(\1c\00\00\90\1c\00\00\00\00\00\00\18\13\00\00>\00\00\00?\00\00\004\00\00\00H\00\00\00 \00\00\00" + "\12\00\00\00\13\00\00\00@\00\00\00I\00\00\00\0d\00\00\005\00\00\00!\00\00\00J\00\00\006\00\00\00\07\00\00\00K\00\00\00\03\00\00\00\17\00\00\00\ff\ff\ff\ff\00\00\00\00\0f") (data $75 $29 (i32.const 7532) - "H\13\00\00C\00\00\00D\00\00\005\00\00\00L\00\00\00\"\00\00\00M\00\00\00\13\00\00\00E\00\00\00N\00\00\00\0b\00\00\006\00\00\00#\00\00\00O\00\00\007\00\00\00\07\00\00\00" - "P\00\00\00\04\00\00\00\17\00\00\00Q\00\00\00R\00\00\00\00\00\00\00\a8\13\00\00F\00\00\00G\00\00\008\00\00\00S\00\00\00$\00\00\00T\00\00\00U\00\00\00H\00\00\00V\00\00\00" - "\0b\00\00\009\00\00\00%\00\00\00W\00\00\00:\00\00\00\07\00\00\00X\00\00\00\03\00\00\00\17\00\00\00\00\00\00\00(\13\00\00I\00\00\00J\00\00\00;\00\00\00Y\00\00\00&\00\00\00" - "Z\00\00\00[\00\00\00K\00\00\00\\\00\00\00\0b\00\00\00<\00\00\00'\00\00\00]\00\00\00=\00\00\00\07\00\00\00^\00\00\00\03\00\00\00\17\00\00\00\00\00\00\008\13\00\00C\00\00\00" - "L\00\00\005\00\00\00L\00\00\00\"\00\00\00M\00\00\00\13\00\00\00E\00\00\00N\00\00\00\0b\00\00\006\00\00\00#\00\00\00O\00\00\007\00\00\00\07\00\00\00P\00\00\00\04\00\00\00" - "\17\00\00\00_\00\00\00`\00\00\00\00\00\00\00x\13\00\00M\00\00\00N\00\00\00>\00\00\00a\00\00\00(\00\00\00b\00\00\00c\00\00\00O\00\00\00d\00\00\00\0b\00\00\00?\00\00\00" - ")\00\00\00e\00\00\00@\00\00\00\07\00\00\00f\00\00\00\03\00\00\00\17\00\00\00\00\00\00\00h\13\00\00C\00\00\00P\00\00\005\00\00\00L\00\00\00\"\00\00\00M\00\00\00\13\00\00\00" - "E\00\00\00N\00\00\00\0b\00\00\006\00\00\00#\00\00\00O\00\00\007\00\00\00\07\00\00\00P\00\00\00\04\00\00\00\17\00\00\00Q\00\00\00R\00\00\00\00\00\00\00x\11\00\00\01\00\00\00" - "Q\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00g\00\00\00\04\00\00\00\01\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00" - "\06\00\00\00\00\00\00\00\b8\13\00\00R\00\00\00S\00\00\00h\00\00\00\00\00\00\00\e0\13\00\00T\00\00\00U\00\00\00\05\00\00\00A\00\00\00\01\00\00\00\06\00\00\00i\00\00\00\00\00\00\00" - "\f0\13\00\00T\00\00\00V\00\00\00\07\00\00\00B\00\00\00\02\00\00\00\06\00\00\00i") + "H\13\00\00A\00\00\00B\00\00\007\00\00\00L\00\00\00\"\00\00\00M\00\00\00\13\00\00\00C\00\00\00N\00\00\00\0d\00\00\008\00\00\00#\00\00\00O\00\00\009\00\00\00\07\00\00\00" + "P\00\00\00\04\00\00\00\17\00\00\00Q\00\00\00R\00\00\00\00\00\00\00\a8\13\00\00D\00\00\00E\00\00\00:\00\00\00S\00\00\00$\00\00\00T\00\00\00U\00\00\00F\00\00\00V\00\00\00" + "\0d\00\00\00;\00\00\00%\00\00\00W\00\00\00<\00\00\00\07\00\00\00X\00\00\00\03\00\00\00\17\00\00\00\00\00\00\00(\13\00\00G\00\00\00H\00\00\00=\00\00\00Y\00\00\00&\00\00\00" + "Z\00\00\00[\00\00\00I\00\00\00\\\00\00\00\0d\00\00\00>\00\00\00'\00\00\00]\00\00\00?\00\00\00\07\00\00\00^\00\00\00\03\00\00\00\17\00\00\00\00\00\00\008\13\00\00A\00\00\00" + "J\00\00\007\00\00\00L\00\00\00\"\00\00\00M\00\00\00\13\00\00\00C\00\00\00N\00\00\00\0d\00\00\008\00\00\00#\00\00\00O\00\00\009\00\00\00\07\00\00\00P\00\00\00\04\00\00\00" + "\17\00\00\00_\00\00\00`\00\00\00\00\00\00\00x\13\00\00K\00\00\00L\00\00\00@\00\00\00a\00\00\00(\00\00\00b\00\00\00c\00\00\00M\00\00\00d\00\00\00\0d\00\00\00A\00\00\00" + ")\00\00\00e\00\00\00B\00\00\00\07\00\00\00f\00\00\00\03\00\00\00\17\00\00\00\00\00\00\00h\13\00\00A\00\00\00N\00\00\007\00\00\00L\00\00\00\"\00\00\00M\00\00\00\13\00\00\00" + "C\00\00\00N\00\00\00\0d\00\00\008\00\00\00#\00\00\00O\00\00\009\00\00\00\07\00\00\00P\00\00\00\04\00\00\00\17\00\00\00Q\00\00\00R\00\00\00\00\00\00\00x\11\00\00\01\00\00\00" + "O\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00g\00\00\00\04\00\00\00\01\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00" + "\06\00\00\00\00\00\00\00\b8\13\00\00P\00\00\00Q\00\00\00h\00\00\00\00\00\00\00\e0\13\00\00R\00\00\00S\00\00\00\05\00\00\00C\00\00\00\01\00\00\00\06\00\00\00i\00\00\00\00\00\00\00" + "\f0\13\00\00R\00\00\00T\00\00\00\07\00\00\00D\00\00\00\02\00\00\00\06\00\00\00i") (data $76 $29 (i32.const 8209) "\01\00\00\00\09\00\00\00\00\00\00\08\00\00\00\01\00\00\00 \00\00\00\00\10\04\00\00lQ\00\00qQ\00\00\10\0d\00\00\08\14\00\00\98\14") (data $77 $29 (i32.const 8448) "\fcN") (data $78 $29 (i32.const 8508) - "\b8\15\00\00W\00\00\00X\00\00\00k\00\00\00\10\00\00\00\00\00\00\00\d0\15\00\00Y\00\00\00Z\00\00\00[\00\00\00\\\00\00\00\0b\00\00\00\01\00\00\00\02\00\00\00\04\00\00\00\00\00\00\00" - "\f8\15\00\00Y\00\00\00]\00\00\00[\00\00\00\\\00\00\00\0b\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\08\16\00\00^\00\00\00_\00\00\00l\00\00\00\00\00\00\00\18\16\00\00" - "^\00\00\00`\00\00\00l\00\00\00\00\00\00\00H\16\00\00Y\00\00\00a\00\00\00[\00\00\00\\\00\00\00\0c\00\00\00\00\00\00\00h\16\00\00Y\00\00\00b\00\00\00[\00\00\00\\\00\00\00" + "\b8\15\00\00U\00\00\00V\00\00\00k\00\00\00\10\00\00\00\00\00\00\00\d0\15\00\00W\00\00\00X\00\00\00Y\00\00\00Z\00\00\00\0b\00\00\00\01\00\00\00\02\00\00\00\04\00\00\00\00\00\00\00" + "\f8\15\00\00W\00\00\00[\00\00\00Y\00\00\00Z\00\00\00\0b\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\08\16\00\00\\\00\00\00]\00\00\00l\00\00\00\00\00\00\00\18\16\00\00" + "\\\00\00\00^\00\00\00l\00\00\00\00\00\00\00H\16\00\00W\00\00\00_\00\00\00Y\00\00\00Z\00\00\00\0c\00\00\00\00\00\00\00h\16\00\00W\00\00\00`\00\00\00Y\00\00\00Z\00\00\00" "\0b\00\00\00\03\00\00\00\04\00\00\00\06\00\00\00callout_cluster\00request\00service\00method\0014Request" "Context\007Context\0011ContextBase\00/home/jplev_google_com/envoy/api/" "wasm/cpp/proxy_wasm_intrinsics_lite.pb.h\00CHECK failed: value != " @@ -1308,7 +1308,7 @@ end ;; $if_1 local.get $1 i32.const 16 - i32.const 99 + i32.const 97 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 local.get $2 @@ -1852,7 +1852,7 @@ i32.store local.get $2 i32.const 5656 - i32.const 94 + i32.const 92 call $___cxa_throw end ;; $if_1 local.get $1 @@ -3240,8 +3240,9 @@ nop ) - (func $__ZN14ServiceContext7onStartEv (type $0) + (func $__ZN14ServiceContext7onStartENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE (type $1) (param $0 i32) + (param $1 i32) local.get $0 i32.const 0 i32.const 9698 @@ -3457,7 +3458,7 @@ i32.store local.get $1 i32.const 5560 - i32.const 87 + i32.const 85 call $___cxa_throw end ;; $if_8 local.get $0 @@ -4310,7 +4311,7 @@ i32.store local.get $1 i32.const 5560 - i32.const 87 + i32.const 85 call $___cxa_throw end ;; $if_10 local.get $0 @@ -4889,7 +4890,7 @@ i32.store local.get $1 i32.const 5560 - i32.const 87 + i32.const 85 call $___cxa_throw end ;; $if_10 local.get $0 @@ -6389,7 +6390,7 @@ end ;; $if_1 local.get $2 i32.const 16 - i32.const 100 + i32.const 98 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i64.const 0 @@ -6436,7 +6437,7 @@ i32.const 19440 i32.const 0 i32.store - i32.const 101 + i32.const 99 i32.const 19424 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -7711,7 +7712,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 102 + i32.const 100 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6152 @@ -7788,7 +7789,7 @@ i32.const 19476 i32.const 20008 i32.store - i32.const 101 + i32.const 99 i32.const 19464 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -8815,7 +8816,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 103 + i32.const 101 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6248 @@ -8876,7 +8877,7 @@ i32.const 19496 i32.const 20008 i32.store - i32.const 101 + i32.const 99 i32.const 19488 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -9780,7 +9781,7 @@ end ;; $if_0 local.get $0 i32.const 16 - i32.const 104 + i32.const 102 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6344 @@ -9841,7 +9842,7 @@ i32.const 19520 i32.const 0 i32.store - i32.const 101 + i32.const 99 i32.const 19504 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 19512 @@ -11144,7 +11145,7 @@ end ;; $if_1 local.get $0 i32.const 24 - i32.const 105 + i32.const 103 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6440 @@ -11195,7 +11196,7 @@ i32.const 6512 call $__ZN6google8protobuf8internal11InitSCCImplEPNS1_11SCCInfoBaseE end ;; $if - i32.const 101 + i32.const 99 i32.const 19528 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -11868,7 +11869,7 @@ end ;; $if_1 local.get $0 i32.const 16 - i32.const 106 + i32.const 104 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6536 @@ -11916,7 +11917,7 @@ i32.const 6608 call $__ZN6google8protobuf8internal11InitSCCImplEPNS1_11SCCInfoBaseE end ;; $if - i32.const 101 + i32.const 99 i32.const 19544 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -12230,7 +12231,7 @@ end ;; $if_1 local.get $0 i32.const 16 - i32.const 107 + i32.const 105 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6632 @@ -12281,7 +12282,7 @@ i32.const 19576 i32.const 0 i32.store - i32.const 101 + i32.const 99 i32.const 19560 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -13791,7 +13792,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 108 + i32.const 106 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6736 @@ -13852,7 +13853,7 @@ i32.const 19616 i64.const 0 i64.store - i32.const 101 + i32.const 99 i32.const 19600 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -14898,7 +14899,7 @@ end ;; $if_0 local.get $0 i32.const 32 - i32.const 109 + i32.const 107 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6832 @@ -14962,7 +14963,7 @@ i32.const 19644 i32.const 20008 i32.store - i32.const 101 + i32.const 99 i32.const 19632 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -15852,7 +15853,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 110 + i32.const 108 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 6928 @@ -15916,7 +15917,7 @@ i32.const 19676 i32.const 0 i32.store - i32.const 101 + i32.const 99 i32.const 19656 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -17444,7 +17445,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 111 + i32.const 109 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 7028 @@ -17505,7 +17506,7 @@ i32.const 19704 i32.const 0 i32.store - i32.const 101 + i32.const 99 i32.const 19688 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -19626,7 +19627,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 112 + i32.const 110 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 7136 @@ -19668,7 +19669,7 @@ global.set $32 i32.const 19736 call $__ZN22GrpcService_GoogleGrpcC2Ev - i32.const 101 + i32.const 99 i32.const 19736 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 19772 @@ -22037,7 +22038,7 @@ end ;; $if_0 local.get $0 i32.const 48 - i32.const 113 + i32.const 111 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 call $__ZN22GrpcService_GoogleGrpcC2Ev @@ -22182,7 +22183,7 @@ i32.const 19796 i32.const 20008 i32.store - i32.const 101 + i32.const 99 i32.const 19784 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -23056,7 +23057,7 @@ end ;; $if_0 local.get $0 i32.const 24 - i32.const 114 + i32.const 112 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 i32.const 7336 @@ -23101,7 +23102,7 @@ global.set $32 i32.const 19808 call $__ZN11GrpcServiceC2Ev - i32.const 101 + i32.const 99 i32.const 19808 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -25125,7 +25126,7 @@ end ;; $if_0 local.get $0 i32.const 40 - i32.const 115 + i32.const 113 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $0 call $__ZN11GrpcServiceC2Ev @@ -25214,7 +25215,7 @@ i32.store i32.const 19880 call $__ZN6google8protobuf6StructC2Ev - i32.const 101 + i32.const 99 i32.const 19880 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 19912 @@ -25235,12 +25236,12 @@ i32.const 19932 i32.const 0 i32.store - i32.const 101 + i32.const 99 i32.const 19912 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 19968 call $__ZN6google8protobuf9ListValueC2Ev - i32.const 101 + i32.const 99 i32.const 19968 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 19864 @@ -36185,7 +36186,7 @@ end ;; $if_0 local.get $1 i32.const 24 - i32.const 116 + i32.const 114 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i32.const 0 @@ -41345,7 +41346,7 @@ i32.store local.get $1 i32.const 5560 - i32.const 87 + i32.const 85 call $___cxa_throw end ;; $if_8 local.get $5 @@ -42094,12 +42095,12 @@ call_indirect $28 (type $4) ) - (func $_proxy_onStart (type $3) + (func $_proxy_onStart (type $7) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -42108,229 +42109,226 @@ (local $10 i32) (local $11 i32) (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) global.get $32 - local.set $8 + local.set $7 global.get $32 i32.const 32 i32.add global.set $32 - local.get $8 - i32.const 24 + local.get $7 + i32.const 28 i32.add local.set $9 - local.get $8 - i32.const 12 + local.get $7 + i32.const 16 i32.add - local.set $3 - local.get $8 + local.set $6 + local.get $7 i32.const 8 i32.add - local.set $10 + local.set $11 + local.get $7 + i32.const 12 + i32.add + local.set $12 i32.const 8 call $__Znwm - local.tee $7 + local.tee $8 local.get $1 i32.store - local.get $7 + local.get $8 local.get $2 i32.store offset=4 + local.get $1 + local.set $13 block $block - i32.const 20044 - i32.load - local.tee $4 - if $if + block $block_0 + i32.const 20044 + i32.load + local.tee $5 + i32.eqz + br_if $block_0 i32.const 20040 i32.load - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const -1 i32.add - local.tee $6 + local.tee $10 i32.and i32.eqz - local.tee $11 - if $if_0 (result i32) + local.tee $14 + if $if (result i32) local.get $0 - local.get $6 + local.get $10 i32.and else - local.get $4 + local.get $5 local.get $0 i32.gt_u - if $if_1 (result i32) + if $if_0 (result i32) local.get $0 else - local.get $4 - if $if_2 (result i32) + local.get $5 + if $if_1 (result i32) local.get $0 - local.get $4 + local.get $5 i32.rem_u else i32.const 0 - end ;; $if_2 - end ;; $if_1 - end ;; $if_0 - local.tee $12 + end ;; $if_1 + end ;; $if_0 + end ;; $if + local.tee $15 i32.const 2 i32.shl i32.add i32.load - local.tee $5 - if $if_3 - local.get $5 - i32.load - local.tee $5 - if $if_4 - block $block_0 - block $block_1 - local.get $11 - if $if_5 - loop $loop - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $4 - i32.eq - local.tee $11 - local.get $4 - local.get $6 - i32.and - local.get $12 - i32.eq - i32.or - i32.eqz - br_if $block_0 - local.get $11 - if $if_6 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - end ;; $if_6 - local.get $5 - i32.load - local.tee $5 - br_if $loop - br $block_0 - unreachable - end ;; $loop - unreachable - else - loop $loop_0 - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $6 - i32.eq - if $if_7 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - else - local.get $6 - local.get $4 - i32.ge_u - if $if_8 (result i32) - local.get $4 - if $if_9 (result i32) - local.get $6 - local.get $4 - i32.rem_u - else - i32.const 0 - end ;; $if_9 - else - local.get $6 - end ;; $if_8 - local.get $12 - i32.ne - br_if $block_0 - end ;; $if_7 - local.get $5 - i32.load - local.tee $5 - br_if $loop_0 - br $block_0 - unreachable - end ;; $loop_0 - unreachable - end ;; $if_5 - unreachable - end ;; $block_1 - local.get $5 - i32.load offset=12 - local.tee $0 - i32.load - i32.load offset=8 - local.set $1 + local.tee $1 + i32.eqz + br_if $block_0 + local.get $1 + i32.load + local.tee $1 + i32.eqz + br_if $block_0 + block $block_1 + local.get $14 + if $if_2 + loop $loop local.get $0 local.get $1 - i32.const 127 + i32.load offset=4 + local.tee $5 + i32.eq + local.tee $14 + local.get $5 + local.get $10 i32.and - call_indirect $28 (type $4) - local.tee $0 + local.get $15 + i32.eq + i32.or + i32.eqz + br_if $block_0 + local.get $14 + if $if_3 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + end ;; $if_3 + local.get $1 i32.load - i32.load offset=28 - local.set $1 + local.tee $1 + br_if $loop + br $block_0 + unreachable + end ;; $loop + unreachable + else + loop $loop_0 local.get $0 local.get $1 - i32.const 127 - i32.and - i32.const 248 - i32.add - call_indirect $28 (type $0) - br $block - end ;; $block_0 - end ;; $if_4 - end ;; $if_3 - end ;; $if - local.get $1 - local.set $4 + i32.load offset=4 + local.tee $10 + i32.eq + if $if_4 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + else + local.get $10 + local.get $5 + i32.ge_u + if $if_5 (result i32) + local.get $5 + if $if_6 (result i32) + local.get $10 + local.get $5 + i32.rem_u + else + i32.const 0 + end ;; $if_6 + else + local.get $10 + end ;; $if_5 + local.get $15 + i32.ne + br_if $block_0 + end ;; $if_4 + local.get $1 + i32.load + local.tee $1 + br_if $loop_0 + br $block_0 + unreachable + end ;; $loop_0 + unreachable + end ;; $if_2 + unreachable + end ;; $block_1 + local.get $1 + i32.load offset=12 + local.tee $0 + i32.load + i32.load offset=8 + local.set $1 + local.get $0 + local.get $1 + i32.const 127 + i32.and + call_indirect $28 (type $4) + local.set $0 + br $block + end ;; $block_0 i32.const 20080 i32.load i32.eqz - if $if_10 + if $if_7 i32.const 160 call $__Znwm - local.tee $3 + local.tee $5 i64.const 0 i64.store offset=4 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=12 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=20 - local.get $3 + local.get $5 i64.const 0 i64.store offset=24 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=32 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=40 - local.get $3 + local.get $5 i64.const 0 i64.store offset=44 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=52 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=60 - local.get $3 + local.get $5 i32.const -64 i32.sub local.get $0 i32.store - local.get $3 + local.get $5 i32.const 6064 i32.store - local.get $3 + local.get $5 i32.const 68 i32.add local.tee $1 @@ -42342,16 +42340,16 @@ local.get $2 i32.const -17 i32.gt_u - if $if_11 + if $if_8 call $_abort - end ;; $if_11 + end ;; $if_8 block $block_2 block $block_3 local.get $2 i32.const 11 i32.lt_u - if $if_12 - local.get $3 + if $if_9 + local.get $5 local.get $2 i32.store8 offset=79 local.get $2 @@ -42367,20 +42365,20 @@ call $__Znwm local.tee $1 i32.store - local.get $3 + local.get $5 local.get $6 i32.const -2147483648 i32.or i32.store offset=76 - local.get $3 + local.get $5 local.get $2 i32.store offset=72 br $block_3 - end ;; $if_12 + end ;; $if_9 br $block_2 end ;; $block_3 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -42390,40 +42388,40 @@ i32.add i32.const 0 i32.store8 - local.get $3 + local.get $5 i64.const 0 i64.store offset=80 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=88 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=96 - local.get $3 + local.get $5 i64.const 0 i64.store offset=100 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=108 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=116 - local.get $3 + local.get $5 i64.const 0 i64.store offset=120 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=128 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=136 - local.get $3 + local.get $5 i64.const 0 i64.store offset=140 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=148 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=156 local.get $9 @@ -42435,10 +42433,10 @@ i32.load local.set $0 local.get $1 - local.get $3 + local.get $5 i32.store local.get $0 - if $if_13 + if $if_10 local.get $0 local.get $0 i32.load @@ -42448,73 +42446,66 @@ i32.const 248 i32.add call_indirect $28 (type $0) - end ;; $if_13 - local.get $3 - local.get $3 - i32.load - i32.load offset=28 - i32.const 127 - i32.and - i32.const 248 - i32.add - call_indirect $28 (type $0) + end ;; $if_10 + local.get $5 + local.set $0 br $block - end ;; $if_10 - local.get $3 + end ;; $if_7 + local.get $6 i64.const 0 i64.store align=4 - local.get $3 + local.get $6 i32.const 0 i32.store offset=8 local.get $2 i32.const -17 i32.gt_u - if $if_14 + if $if_11 call $_abort - end ;; $if_14 + end ;; $if_11 block $block_4 block $block_5 local.get $2 i32.const 11 i32.lt_u - if $if_15 (result i32) - local.get $3 + if $if_12 (result i32) + local.get $6 local.get $2 i32.store8 offset=11 local.get $2 - if $if_16 (result i32) - local.get $3 + if $if_13 (result i32) + local.get $6 local.set $1 br $block_5 else - local.get $3 - end ;; $if_16 + local.get $6 + end ;; $if_13 else - local.get $3 + local.get $6 local.get $2 i32.const 16 i32.add i32.const -16 i32.and - local.tee $6 + local.tee $5 call $__Znwm local.tee $1 i32.store - local.get $3 local.get $6 + local.get $5 i32.const -2147483648 i32.or i32.store offset=8 - local.get $3 + local.get $6 local.get $2 i32.store offset=4 br $block_5 - end ;; $if_15 + end ;; $if_12 local.set $1 br $block_4 end ;; $block_5 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -42526,18 +42517,18 @@ i32.store8 i32.const 20080 i32.load - local.get $3 + local.get $6 call $__ZNSt3__212__hash_tableINS_17__hash_value_typeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_8functionIFNS_10unique_ptrI11RootContextNS_14default_deleteISA_EEEEjNS_17basic_string_viewIcS4_EEEEEEENS_22__unordered_map_hasherIS7_SI_NS_4hashIS7_EELb1EEENS_21__unordered_map_equalIS7_SI_NS_8equal_toIS7_EELb1EEENS5_ISI_EEE4findIS7_EENS_15__hash_iteratorIPNS_11__hash_nodeISI_PvEEEERKT_ local.tee $1 - if $if_17 (result i32) - local.get $7 + if $if_14 (result i32) + local.get $8 i32.load offset=4 local.set $2 - local.get $8 local.get $7 + local.get $8 i32.load i32.store - local.get $8 + local.get $7 local.get $2 i32.store offset=4 local.get $9 @@ -42547,7 +42538,7 @@ i32.load offset=40 local.tee $1 i32.eqz - if $if_18 + if $if_15 i32.const 4 call $___cxa_allocate_exception local.tee $2 @@ -42555,13 +42546,13 @@ i32.store local.get $2 i32.const 5560 - i32.const 87 + i32.const 85 call $___cxa_throw - end ;; $if_18 - local.get $10 + end ;; $if_15 + local.get $11 local.get $1 local.get $9 - local.get $8 + local.get $7 local.get $1 i32.load i32.load offset=24 @@ -42570,7 +42561,7 @@ i32.const 508 i32.add call_indirect $28 (type $2) - local.get $10 + local.get $11 i32.load local.tee $1 i32.load @@ -42582,7 +42573,7 @@ i32.and call_indirect $28 (type $4) local.set $1 - local.get $3 + local.get $6 call $__ZNSt3__213unordered_mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEP11RootContextNS_4hashIS6_EENS_8equal_toIS6_EENS4_INS_4pairIKS6_S8_EEEEEixERSE_ local.get $1 i32.store @@ -42592,20 +42583,20 @@ local.get $9 call $__ZNSt3__213unordered_mapIiNS_10unique_ptrI11ContextBaseNS_14default_deleteIS2_EEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEEixEOi local.set $2 - local.get $10 + local.get $11 i32.load - local.set $4 - local.get $10 + local.set $5 + local.get $11 i32.const 0 i32.store local.get $2 i32.load local.set $0 local.get $2 - local.get $4 + local.get $5 i32.store local.get $0 - if $if_19 + if $if_16 local.get $0 local.get $0 i32.load @@ -42615,15 +42606,15 @@ i32.const 248 i32.add call_indirect $28 (type $0) - end ;; $if_19 - local.get $10 + end ;; $if_16 + local.get $11 i32.load local.set $0 - local.get $10 + local.get $11 i32.const 0 i32.store local.get $0 - if $if_20 + if $if_17 local.get $0 local.get $0 i32.load @@ -42633,15 +42624,15 @@ i32.const 248 i32.add call_indirect $28 (type $0) - end ;; $if_20 + end ;; $if_17 local.get $1 else - local.get $7 + local.get $8 i32.load - local.set $6 - local.get $7 + local.set $10 + local.get $8 i32.load offset=4 - local.set $4 + local.set $5 i32.const 160 call $__Znwm local.tee $2 @@ -42688,54 +42679,54 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $4 + local.get $5 i32.const -17 i32.gt_u - if $if_21 + if $if_18 call $_abort - end ;; $if_21 + end ;; $if_18 block $block_6 block $block_7 - local.get $4 + local.get $5 i32.const 11 i32.lt_u - if $if_22 + if $if_19 local.get $2 - local.get $4 + local.get $5 i32.store8 offset=79 - local.get $4 + local.get $5 br_if $block_7 else local.get $1 - local.get $4 + local.get $5 i32.const 16 i32.add i32.const -16 i32.and - local.tee $5 + local.tee $13 call $__Znwm local.tee $1 i32.store local.get $2 - local.get $5 + local.get $13 i32.const -2147483648 i32.or i32.store offset=76 local.get $2 - local.get $4 + local.get $5 i32.store offset=72 br $block_7 - end ;; $if_22 + end ;; $if_19 br $block_6 end ;; $block_7 local.get $1 - local.get $6 - local.get $4 + local.get $10 + local.get $5 call $_memcpy drop end ;; $block_6 local.get $1 - local.get $4 + local.get $5 i32.add i32.const 0 i32.store8 @@ -42787,7 +42778,7 @@ local.get $2 i32.store local.get $0 - if $if_23 + if $if_20 local.get $0 local.get $0 i32.load @@ -42797,43 +42788,72 @@ i32.const 248 i32.add call_indirect $28 (type $0) - end ;; $if_23 + end ;; $if_20 local.get $2 - end ;; $if_17 + end ;; $if_14 local.set $0 - local.get $3 + local.get $6 i32.load8_s offset=11 i32.const 0 i32.lt_s - if $if_24 - local.get $3 + if $if_21 + local.get $6 i32.load call $_free - end ;; $if_24 - local.get $0 - local.get $0 - i32.load - i32.load offset=28 - i32.const 127 - i32.and - i32.const 248 - i32.add - call_indirect $28 (type $0) - local.get $7 + end ;; $if_21 + end ;; $block + local.get $0 + i32.load + i32.load offset=28 + local.set $2 + i32.const 8 + call $__Znwm + local.tee $1 + local.get $3 + i32.store + local.get $1 + local.get $4 + i32.store offset=4 + local.get $12 + local.get $1 + i32.store + local.get $0 + local.get $12 + local.get $2 + i32.const 127 + i32.and + i32.const 376 + i32.add + call_indirect $28 (type $1) + local.get $12 + i32.load + local.set $0 + local.get $12 + i32.const 0 + i32.store + local.get $0 + i32.eqz + if $if_22 + local.get $8 i32.load call $_free - local.get $7 - call $_free local.get $8 + call $_free + local.get $7 global.set $32 return - end ;; $block - local.get $7 + end ;; $if_22 + local.get $0 i32.load call $_free - local.get $7 + local.get $0 call $_free local.get $8 + i32.load + call $_free + local.get $8 + call $_free + local.get $7 global.set $32 ) @@ -44660,7 +44680,7 @@ i32.store local.get $1 i32.const 5656 - i32.const 94 + i32.const 92 call $___cxa_throw end ;; $if_1 local.get $0 @@ -45207,7 +45227,7 @@ i32.store local.get $1 i32.const 5656 - i32.const 94 + i32.const 92 call $___cxa_throw end ;; $if_1 local.get $0 @@ -47870,7 +47890,7 @@ i32.store local.get $2 i32.const 5656 - i32.const 94 + i32.const 92 call $___cxa_throw end ;; $if_1 local.get $1 @@ -48407,7 +48427,7 @@ call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_ local.get $2 i32.const 5048 - i32.const 82 + i32.const 80 call $___cxa_throw else local.get $1 @@ -48434,7 +48454,7 @@ i32.const 20092 local.get $0 i32.store - i32.const 118 + i32.const 116 i32.const 18 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -48687,7 +48707,7 @@ i32.store local.get $3 i32.const 5656 - i32.const 94 + i32.const 92 call $___cxa_throw else local.get $2 @@ -49862,14 +49882,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 99 + i32.const 97 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 99 + i32.const 97 i32.store offset=4 local.get $2 local.get $0 @@ -49918,14 +49938,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 99 + i32.const 97 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 99 + i32.const 97 i32.store offset=4 local.get $2 local.get $0 @@ -60189,7 +60209,7 @@ i32.const 20016 i32.const 0 i32.store - i32.const 119 + i32.const 117 i32.const 20008 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ end ;; $if_5 @@ -72866,7 +72886,7 @@ end ;; $block_0 local.get $0 local.get $2 - i32.const 443 + i32.const 445 call_indirect $28 (type $1) end ;; $block end ;; $if @@ -80910,7 +80930,7 @@ i32.const 1 i32.store local.get $0 - i32.const 365 + i32.const 363 call_indirect $28 (type $0) i32.const 20088 i32.const -1 diff --git a/test/extensions/filters/http/wasm/test_data/headers_cpp.wasm b/test/extensions/filters/http/wasm/test_data/headers_cpp.wasm index d91703db49ee..69ab1b037bcd 100644 Binary files a/test/extensions/filters/http/wasm/test_data/headers_cpp.wasm and b/test/extensions/filters/http/wasm/test_data/headers_cpp.wasm differ diff --git a/test/extensions/filters/http/wasm/test_data/headers_cpp.wat b/test/extensions/filters/http/wasm/test_data/headers_cpp.wat index b0408bff9915..458c7940e2de 100644 --- a/test/extensions/filters/http/wasm/test_data/headers_cpp.wat +++ b/test/extensions/filters/http/wasm/test_data/headers_cpp.wat @@ -126,14 +126,14 @@ $b7 $__ZN11ContextBaseD2Ev $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv $__ZN14ExampleContext6onDoneEv $__ZN14ExampleContext5onLogEv $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv $__ZN6google8protobuf5ValueD2Ev $__ZN6google8protobuf5ValueD0Ev $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf6StructD2Ev $__ZN6google8protobuf6StructD0Ev - $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN11RootContextD2Ev $__ZN11RootContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv - $__ZN7Context8onCreateEv $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev - $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev - $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv - $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 $b7 $b7 + $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN11RootContextD2Ev $__ZN11RootContextD0Ev $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv + $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv + $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev + $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv + $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b8 $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf5Value11GetTypeNameEv $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf9ListValue11GetTypeNameEv $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE - $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double $b8 + $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b9 $__ZN11RootContext13onGrpcReceiveEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $b10 $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEEclEOjOSB_ $__ZN11RootContext11onGrpcCloseEj10GrpcStatusNSt3__210unique_ptrI8WasmDataNS1_14default_deleteIS3_EEEE $__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $b10 $b10 $b11 $__ZN11RootContext18onHttpCallResponseEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEES5_S5_ $__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $b11 @@ -259,18 +259,18 @@ "\00\00\00\"\00\00\00#\00\00\00\00\00\00\000\12\00\00\16\00\00\00\17\00\00\00\0c\00\00\00$\00\00\00\0b\00\00\00%\00\00\00&\00\00\00\18\00\00\00'\00\00\00\03\00\00\00\0d\00\00\00\0c" "\00\00\00(\00\00\00\0e\00\00\00\06\00\00\00)\00\00\00\04\00\00\00\13\00\00\00\00\00\00\00 \12\00\00\0c\00\00\00\19\00\00\00\02\00\00\00\0d\00\00\00\04\00\00\00\0e\00\00\00\0f\00\00\00\0e" "\00\00\00\10\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\11\00\00\00\05\00\00\00\06\00\00\00\12\00\00\00\03\00\00\00\13\00\00\00\14\00\00\00\15\00\00\00\00\00\00\00p\12\00\00\1a\00\00\00\1b" - "\00\00\00*\00\00\00+\00\00\00\01\00\00\00\02\00\00\00\0f\00\00\00\1c\00\00\00\1d\00\00\00\10\00\00\00\01\00\00\00\11\00\00\00\12\00\00\00\13\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00x" - "\11\00\00\01\00\00\00\1e\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00,\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\1f" - "\00\00\00 \00\00\00\06\00\00\00\00\00\00\00\80\12\00\00!\00\00\00\"\00\00\00-\00\00\00\00\00\00\00\a8\12\00\00#\00\00\00$\00\00\00\06\00\00\00\14\00\00\00\01\00\00\00\07\00\00\00." - "\00\00\00\00\00\00\00\b8\12\00\00#\00\00\00%\00\00\00\08\00\00\00\15\00\00\00\02\00\00\00\07\00\00\00.") + "\00\00\00*\00\00\00+\00\00\00\01\00\00\00\02\00\00\00\0f\00\00\00\10\00\00\00\1c\00\00\00\11\00\00\00\01\00\00\00\12\00\00\00\13\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00x" + "\11\00\00\01\00\00\00\1d\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00,\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\1e" + "\00\00\00\1f\00\00\00\06\00\00\00\00\00\00\00\80\12\00\00 \00\00\00!\00\00\00-\00\00\00\00\00\00\00\a8\12\00\00\"\00\00\00#\00\00\00\06\00\00\00\15\00\00\00\01\00\00\00\07\00\00\00." + "\00\00\00\00\00\00\00\b8\12\00\00\"\00\00\00$\00\00\00\08\00\00\00\16\00\00\00\02\00\00\00\07\00\00\00.") (data $66 $27 (i32.const 6365) "\01\00\00\00\09\00\00\00\00\00\00\08\00\00\00\01\00\00\00 \00\00\00\00\10\04\00\00\\=\00\00a=\00\00\10\0d\00\00\d0\12\00\00`\13") (data $67 $27 (i32.const 6604) "\ec:") (data $68 $27 (i32.const 6664) - "\80\14\00\00&\00\00\00'\00\00\000\00\00\00\02\00\00\00\00\00\00\00\98\14\00\00(\00\00\00)\00\00\00*\00\00\00+\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00" - "\c0\14\00\00(\00\00\00,\00\00\00*\00\00\00+\00\00\00\0c\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\d0\14\00\00-\00\00\00.\00\00\001\00\00\00\00\00\00\00\e0\14\00\00" - "-\00\00\00/\00\00\001\00\00\00\00\00\00\00\10\15\00\00(\00\00\000\00\00\00*\00\00\00+\00\00\00\0d\00\00\00\00\00\00\000\15\00\00(\00\00\001\00\00\00*\00\00\00+\00\00\00" + "\80\14\00\00%\00\00\00&\00\00\000\00\00\00\02\00\00\00\00\00\00\00\98\14\00\00'\00\00\00(\00\00\00)\00\00\00*\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00" + "\c0\14\00\00'\00\00\00+\00\00\00)\00\00\00*\00\00\00\0c\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\d0\14\00\00,\00\00\00-\00\00\001\00\00\00\00\00\00\00\e0\14\00\00" + ",\00\00\00.\00\00\001\00\00\00\00\00\00\00\10\15\00\00'\00\00\00/\00\00\00)\00\00\00*\00\00\00\0d\00\00\00\00\00\00\000\15\00\00'\00\00\000\00\00\00)\00\00\00*\00\00\00" "\0c\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00onRequestHeaders \00:path\00header path \00newheader\00n" "ewheadervalue\00server\00envoy-wasm\00onRequestBody \00onLog \00 \00onDone \00" "14ExampleContext\007Context\0011ContextBase\00NSt3__210__function6__fu" @@ -1925,7 +1925,7 @@ end ;; $if_1 local.get $2 i32.const 16 - i32.const 50 + i32.const 49 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i64.const 0 @@ -2025,7 +2025,7 @@ end ;; $if_1 local.get $1 i32.const 16 - i32.const 51 + i32.const 50 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 local.get $2 @@ -2064,7 +2064,7 @@ i32.store i32.const 14744 call $__ZN6google8protobuf6StructC2Ev - i32.const 52 + i32.const 51 i32.const 14744 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 14776 @@ -2084,12 +2084,12 @@ i32.const 14796 i32.const 0 i32.store - i32.const 52 + i32.const 51 i32.const 14776 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 14832 call $__ZN6google8protobuf9ListValueC2Ev - i32.const 52 + i32.const 51 i32.const 14832 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 14728 @@ -13162,7 +13162,7 @@ end ;; $if_0 local.get $1 i32.const 24 - i32.const 53 + i32.const 52 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i32.const 0 @@ -18306,7 +18306,7 @@ i32.store local.get $1 i32.const 5248 - i32.const 38 + i32.const 37 call $___cxa_throw end ;; $if_8 local.get $5 @@ -19055,12 +19055,12 @@ call_indirect $26 (type $1) ) - (func $_proxy_onStart (type $6) + (func $_proxy_onStart (type $7) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -19069,229 +19069,226 @@ (local $10 i32) (local $11 i32) (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) global.get $30 - local.set $8 + local.set $7 global.get $30 i32.const 32 i32.add global.set $30 - local.get $8 - i32.const 24 + local.get $7 + i32.const 28 i32.add local.set $9 - local.get $8 - i32.const 12 + local.get $7 + i32.const 16 i32.add - local.set $3 - local.get $8 + local.set $6 + local.get $7 i32.const 8 i32.add - local.set $10 + local.set $11 + local.get $7 + i32.const 12 + i32.add + local.set $12 i32.const 8 call $__Znwm - local.tee $7 + local.tee $8 local.get $1 i32.store - local.get $7 + local.get $8 local.get $2 i32.store offset=4 + local.get $1 + local.set $13 block $block - i32.const 14908 - i32.load - local.tee $4 - if $if + block $block_0 + i32.const 14908 + i32.load + local.tee $5 + i32.eqz + br_if $block_0 i32.const 14904 i32.load - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const -1 i32.add - local.tee $6 + local.tee $10 i32.and i32.eqz - local.tee $11 - if $if_0 (result i32) + local.tee $14 + if $if (result i32) local.get $0 - local.get $6 + local.get $10 i32.and else - local.get $4 + local.get $5 local.get $0 i32.gt_u - if $if_1 (result i32) + if $if_0 (result i32) local.get $0 else - local.get $4 - if $if_2 (result i32) + local.get $5 + if $if_1 (result i32) local.get $0 - local.get $4 + local.get $5 i32.rem_u else i32.const 0 - end ;; $if_2 - end ;; $if_1 - end ;; $if_0 - local.tee $12 + end ;; $if_1 + end ;; $if_0 + end ;; $if + local.tee $15 i32.const 2 i32.shl i32.add i32.load - local.tee $5 - if $if_3 - local.get $5 - i32.load - local.tee $5 - if $if_4 - block $block_0 - block $block_1 - local.get $11 - if $if_5 - loop $loop - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $4 - i32.eq - local.tee $11 - local.get $4 - local.get $6 - i32.and - local.get $12 - i32.eq - i32.or - i32.eqz - br_if $block_0 - local.get $11 - if $if_6 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - end ;; $if_6 - local.get $5 - i32.load - local.tee $5 - br_if $loop - br $block_0 - unreachable - end ;; $loop - unreachable - else - loop $loop_0 - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $6 - i32.eq - if $if_7 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - else - local.get $6 - local.get $4 - i32.ge_u - if $if_8 (result i32) - local.get $4 - if $if_9 (result i32) - local.get $6 - local.get $4 - i32.rem_u - else - i32.const 0 - end ;; $if_9 - else - local.get $6 - end ;; $if_8 - local.get $12 - i32.ne - br_if $block_0 - end ;; $if_7 - local.get $5 - i32.load - local.tee $5 - br_if $loop_0 - br $block_0 - unreachable - end ;; $loop_0 - unreachable - end ;; $if_5 - unreachable - end ;; $block_1 - local.get $5 - i32.load offset=12 - local.tee $0 - i32.load - i32.load offset=8 - local.set $1 + local.tee $1 + i32.eqz + br_if $block_0 + local.get $1 + i32.load + local.tee $1 + i32.eqz + br_if $block_0 + block $block_1 + local.get $14 + if $if_2 + loop $loop local.get $0 local.get $1 - i32.const 63 + i32.load offset=4 + local.tee $5 + i32.eq + local.tee $14 + local.get $5 + local.get $10 i32.and - call_indirect $26 (type $1) - local.tee $0 + local.get $15 + i32.eq + i32.or + i32.eqz + br_if $block_0 + local.get $14 + if $if_3 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + end ;; $if_3 + local.get $1 i32.load - i32.load offset=28 - local.set $1 + local.tee $1 + br_if $loop + br $block_0 + unreachable + end ;; $loop + unreachable + else + loop $loop_0 local.get $0 local.get $1 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) - br $block - end ;; $block_0 - end ;; $if_4 - end ;; $if_3 - end ;; $if - local.get $1 - local.set $4 + i32.load offset=4 + local.tee $10 + i32.eq + if $if_4 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + else + local.get $10 + local.get $5 + i32.ge_u + if $if_5 (result i32) + local.get $5 + if $if_6 (result i32) + local.get $10 + local.get $5 + i32.rem_u + else + i32.const 0 + end ;; $if_6 + else + local.get $10 + end ;; $if_5 + local.get $15 + i32.ne + br_if $block_0 + end ;; $if_4 + local.get $1 + i32.load + local.tee $1 + br_if $loop_0 + br $block_0 + unreachable + end ;; $loop_0 + unreachable + end ;; $if_2 + unreachable + end ;; $block_1 + local.get $1 + i32.load offset=12 + local.tee $0 + i32.load + i32.load offset=8 + local.set $1 + local.get $0 + local.get $1 + i32.const 63 + i32.and + call_indirect $26 (type $1) + local.set $0 + br $block + end ;; $block_0 i32.const 14944 i32.load i32.eqz - if $if_10 + if $if_7 i32.const 160 call $__Znwm - local.tee $3 + local.tee $5 i64.const 0 i64.store offset=4 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=12 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=20 - local.get $3 + local.get $5 i64.const 0 i64.store offset=24 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=32 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=40 - local.get $3 + local.get $5 i64.const 0 i64.store offset=44 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=52 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=60 - local.get $3 + local.get $5 i32.const -64 i32.sub local.get $0 i32.store - local.get $3 + local.get $5 i32.const 6124 i32.store - local.get $3 + local.get $5 i32.const 68 i32.add local.tee $1 @@ -19303,16 +19300,16 @@ local.get $2 i32.const -17 i32.gt_u - if $if_11 + if $if_8 call $_abort - end ;; $if_11 + end ;; $if_8 block $block_2 block $block_3 local.get $2 i32.const 11 i32.lt_u - if $if_12 - local.get $3 + if $if_9 + local.get $5 local.get $2 i32.store8 offset=79 local.get $2 @@ -19328,20 +19325,20 @@ call $__Znwm local.tee $1 i32.store - local.get $3 + local.get $5 local.get $6 i32.const -2147483648 i32.or i32.store offset=76 - local.get $3 + local.get $5 local.get $2 i32.store offset=72 br $block_3 - end ;; $if_12 + end ;; $if_9 br $block_2 end ;; $block_3 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -19351,40 +19348,40 @@ i32.add i32.const 0 i32.store8 - local.get $3 + local.get $5 i64.const 0 i64.store offset=80 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=88 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=96 - local.get $3 + local.get $5 i64.const 0 i64.store offset=100 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=108 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=116 - local.get $3 + local.get $5 i64.const 0 i64.store offset=120 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=128 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=136 - local.get $3 + local.get $5 i64.const 0 i64.store offset=140 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=148 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=156 local.get $9 @@ -19396,10 +19393,10 @@ i32.load local.set $0 local.get $1 - local.get $3 + local.get $5 i32.store local.get $0 - if $if_13 + if $if_10 local.get $0 local.get $0 i32.load @@ -19409,73 +19406,66 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_13 - local.get $3 - local.get $3 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) + end ;; $if_10 + local.get $5 + local.set $0 br $block - end ;; $if_10 - local.get $3 + end ;; $if_7 + local.get $6 i64.const 0 i64.store align=4 - local.get $3 + local.get $6 i32.const 0 i32.store offset=8 local.get $2 i32.const -17 i32.gt_u - if $if_14 + if $if_11 call $_abort - end ;; $if_14 + end ;; $if_11 block $block_4 block $block_5 local.get $2 i32.const 11 i32.lt_u - if $if_15 (result i32) - local.get $3 + if $if_12 (result i32) + local.get $6 local.get $2 i32.store8 offset=11 local.get $2 - if $if_16 (result i32) - local.get $3 + if $if_13 (result i32) + local.get $6 local.set $1 br $block_5 else - local.get $3 - end ;; $if_16 + local.get $6 + end ;; $if_13 else - local.get $3 + local.get $6 local.get $2 i32.const 16 i32.add i32.const -16 i32.and - local.tee $6 + local.tee $5 call $__Znwm local.tee $1 i32.store - local.get $3 local.get $6 + local.get $5 i32.const -2147483648 i32.or i32.store offset=8 - local.get $3 + local.get $6 local.get $2 i32.store offset=4 br $block_5 - end ;; $if_15 + end ;; $if_12 local.set $1 br $block_4 end ;; $block_5 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -19487,18 +19477,18 @@ i32.store8 i32.const 14944 i32.load - local.get $3 + local.get $6 call $__ZNSt3__212__hash_tableINS_17__hash_value_typeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_8functionIFNS_10unique_ptrI11RootContextNS_14default_deleteISA_EEEEjNS_17basic_string_viewIcS4_EEEEEEENS_22__unordered_map_hasherIS7_SI_NS_4hashIS7_EELb1EEENS_21__unordered_map_equalIS7_SI_NS_8equal_toIS7_EELb1EEENS5_ISI_EEE4findIS7_EENS_15__hash_iteratorIPNS_11__hash_nodeISI_PvEEEERKT_ local.tee $1 - if $if_17 (result i32) - local.get $7 + if $if_14 (result i32) + local.get $8 i32.load offset=4 local.set $2 - local.get $8 local.get $7 + local.get $8 i32.load i32.store - local.get $8 + local.get $7 local.get $2 i32.store offset=4 local.get $9 @@ -19508,7 +19498,7 @@ i32.load offset=40 local.tee $1 i32.eqz - if $if_18 + if $if_15 i32.const 4 call $___cxa_allocate_exception local.tee $2 @@ -19516,13 +19506,13 @@ i32.store local.get $2 i32.const 5248 - i32.const 38 + i32.const 37 call $___cxa_throw - end ;; $if_18 - local.get $10 + end ;; $if_15 + local.get $11 local.get $1 local.get $9 - local.get $8 + local.get $7 local.get $1 i32.load i32.load offset=24 @@ -19531,7 +19521,7 @@ i32.const 210 i32.add call_indirect $26 (type $5) - local.get $10 + local.get $11 i32.load local.tee $1 i32.load @@ -19543,7 +19533,7 @@ i32.and call_indirect $26 (type $1) local.set $1 - local.get $3 + local.get $6 call $__ZNSt3__213unordered_mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEP11RootContextNS_4hashIS6_EENS_8equal_toIS6_EENS4_INS_4pairIKS6_S8_EEEEEixERSE_ local.get $1 i32.store @@ -19553,20 +19543,20 @@ local.get $9 call $__ZNSt3__213unordered_mapIiNS_10unique_ptrI11ContextBaseNS_14default_deleteIS2_EEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEEixEOi local.set $2 - local.get $10 + local.get $11 i32.load - local.set $4 - local.get $10 + local.set $5 + local.get $11 i32.const 0 i32.store local.get $2 i32.load local.set $0 local.get $2 - local.get $4 + local.get $5 i32.store local.get $0 - if $if_19 + if $if_16 local.get $0 local.get $0 i32.load @@ -19576,15 +19566,15 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_19 - local.get $10 + end ;; $if_16 + local.get $11 i32.load local.set $0 - local.get $10 + local.get $11 i32.const 0 i32.store local.get $0 - if $if_20 + if $if_17 local.get $0 local.get $0 i32.load @@ -19594,15 +19584,15 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_20 + end ;; $if_17 local.get $1 else - local.get $7 + local.get $8 i32.load - local.set $6 - local.get $7 + local.set $10 + local.get $8 i32.load offset=4 - local.set $4 + local.set $5 i32.const 160 call $__Znwm local.tee $2 @@ -19649,54 +19639,54 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $4 + local.get $5 i32.const -17 i32.gt_u - if $if_21 + if $if_18 call $_abort - end ;; $if_21 + end ;; $if_18 block $block_6 block $block_7 - local.get $4 + local.get $5 i32.const 11 i32.lt_u - if $if_22 + if $if_19 local.get $2 - local.get $4 + local.get $5 i32.store8 offset=79 - local.get $4 + local.get $5 br_if $block_7 else local.get $1 - local.get $4 + local.get $5 i32.const 16 i32.add i32.const -16 i32.and - local.tee $5 + local.tee $13 call $__Znwm local.tee $1 i32.store local.get $2 - local.get $5 + local.get $13 i32.const -2147483648 i32.or i32.store offset=76 local.get $2 - local.get $4 + local.get $5 i32.store offset=72 br $block_7 - end ;; $if_22 + end ;; $if_19 br $block_6 end ;; $block_7 local.get $1 - local.get $6 - local.get $4 + local.get $10 + local.get $5 call $_memcpy drop end ;; $block_6 local.get $1 - local.get $4 + local.get $5 i32.add i32.const 0 i32.store8 @@ -19748,7 +19738,7 @@ local.get $2 i32.store local.get $0 - if $if_23 + if $if_20 local.get $0 local.get $0 i32.load @@ -19758,43 +19748,72 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_23 + end ;; $if_20 local.get $2 - end ;; $if_17 + end ;; $if_14 local.set $0 - local.get $3 + local.get $6 i32.load8_s offset=11 i32.const 0 i32.lt_s - if $if_24 - local.get $3 + if $if_21 + local.get $6 i32.load call $_free - end ;; $if_24 - local.get $0 - local.get $0 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) - local.get $7 + end ;; $if_21 + end ;; $block + local.get $0 + i32.load + i32.load offset=28 + local.set $2 + i32.const 8 + call $__Znwm + local.tee $1 + local.get $3 + i32.store + local.get $1 + local.get $4 + i32.store offset=4 + local.get $12 + local.get $1 + i32.store + local.get $0 + local.get $12 + local.get $2 + i32.const 31 + i32.and + i32.const 176 + i32.add + call_indirect $26 (type $4) + local.get $12 + i32.load + local.set $0 + local.get $12 + i32.const 0 + i32.store + local.get $0 + i32.eqz + if $if_22 + local.get $8 i32.load call $_free - local.get $7 - call $_free local.get $8 + call $_free + local.get $7 global.set $30 return - end ;; $block - local.get $7 + end ;; $if_22 + local.get $0 i32.load call $_free - local.get $7 + local.get $0 + call $_free + local.get $8 + i32.load call $_free local.get $8 + call $_free + local.get $7 global.set $30 ) @@ -21621,7 +21640,7 @@ i32.store local.get $1 i32.const 5344 - i32.const 45 + i32.const 44 call $___cxa_throw end ;; $if_1 local.get $0 @@ -22168,7 +22187,7 @@ i32.store local.get $1 i32.const 5344 - i32.const 45 + i32.const 44 call $___cxa_throw end ;; $if_1 local.get $0 @@ -22936,7 +22955,7 @@ i32.store local.get $1 i32.const 5248 - i32.const 38 + i32.const 37 call $___cxa_throw end ;; $if_8 local.get $0 @@ -23789,7 +23808,7 @@ i32.store local.get $1 i32.const 5248 - i32.const 38 + i32.const 37 call $___cxa_throw end ;; $if_10 local.get $0 @@ -24368,7 +24387,7 @@ i32.store local.get $1 i32.const 5248 - i32.const 38 + i32.const 37 call $___cxa_throw end ;; $if_10 local.get $0 @@ -28023,7 +28042,7 @@ i32.store local.get $2 i32.const 5344 - i32.const 45 + i32.const 44 call $___cxa_throw end ;; $if_1 local.get $1 @@ -28560,7 +28579,7 @@ call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_ local.get $2 i32.const 4736 - i32.const 33 + i32.const 32 call $___cxa_throw else local.get $1 @@ -28587,7 +28606,7 @@ i32.const 14956 local.get $0 i32.store - i32.const 55 + i32.const 54 i32.const 4 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -28840,7 +28859,7 @@ i32.store local.get $3 i32.const 5344 - i32.const 45 + i32.const 44 call $___cxa_throw else local.get $2 @@ -29981,14 +30000,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 51 + i32.const 50 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 51 + i32.const 50 i32.store offset=4 local.get $2 local.get $0 @@ -30037,14 +30056,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 51 + i32.const 50 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 51 + i32.const 50 i32.store offset=4 local.get $2 local.get $0 @@ -40323,7 +40342,7 @@ i32.const 14880 i32.const 0 i32.store - i32.const 56 + i32.const 55 i32.const 14872 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ end ;; $if_5 @@ -51986,7 +52005,7 @@ end ;; $block_0 local.get $0 local.get $2 - i32.const 198 + i32.const 199 call_indirect $26 (type $4) end ;; $block end ;; $if @@ -60030,7 +60049,7 @@ i32.const 1 i32.store local.get $0 - i32.const 166 + i32.const 165 call_indirect $26 (type $0) i32.const 14952 i32.const -1 diff --git a/test/extensions/filters/http/wasm/test_data/http_callout_cpp.wasm b/test/extensions/filters/http/wasm/test_data/http_callout_cpp.wasm index bfd0cf59528a..082552340b43 100644 Binary files a/test/extensions/filters/http/wasm/test_data/http_callout_cpp.wasm and b/test/extensions/filters/http/wasm/test_data/http_callout_cpp.wasm differ diff --git a/test/extensions/filters/http/wasm/test_data/http_callout_cpp.wat b/test/extensions/filters/http/wasm/test_data/http_callout_cpp.wat index dafac5f710f3..2c45792ce227 100644 --- a/test/extensions/filters/http/wasm/test_data/http_callout_cpp.wat +++ b/test/extensions/filters/http/wasm/test_data/http_callout_cpp.wat @@ -126,14 +126,14 @@ $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv $__ZN6google8protobuf5ValueD2Ev $__ZN6google8protobuf5ValueD0Ev $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf6StructD2Ev $__ZN6google8protobuf6StructD0Ev $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN11RootContextD2Ev $__ZN11RootContextD0Ev - $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev - $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev - $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv - $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 + $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv + $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev + $__ZNSt11logic_errorD0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv + $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 $b7 $b8 $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE $__ZNKSt3__210__function6__funcIZN14ExampleContext16onRequestHeadersEvE3__1NS_9allocatorIS3_EEFvNS_10unique_ptrI8WasmDataNS_14default_deleteIS7_EEEESA_SA_EE7__cloneEPNS0_6__baseISB_EE $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf5Value11GetTypeNameEv $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf9ListValue11GetTypeNameEv $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE - $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double - $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 + $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi + $_pop_arg_long_double $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b9 $__ZN11RootContext13onGrpcReceiveEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $b10 $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEEclEOjOSB_ $__ZNSt3__210__function6__funcIZN14ExampleContext16onRequestHeadersEvE3__1NS_9allocatorIS3_EEFvNS_10unique_ptrI8WasmDataNS_14default_deleteIS7_EEEESA_SA_EEclEOSA_SD_SD_ $__ZN11RootContext11onGrpcCloseEj10GrpcStatusNSt3__210unique_ptrI8WasmDataNS1_14default_deleteIS3_EEEE $__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $b10 $b11 $__ZN11RootContext18onHttpCallResponseEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEES5_S5_ $__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $b11 $b11 $b11 $b12 $__ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $__ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $b13) @@ -260,19 +260,19 @@ "\00\00\00\13\00\00\00\06\00\00\00\07\00\00\00\14\00\00\00\03\00\00\00\15\00\00\00$\00\00\00%\00\00\00\00\00\00\00P\12\00\00\1a\00\00\00\1b\00\00\00\0d\00\00\00&\00\00\00\0c\00\00\00'" "\00\00\00(\00\00\00\1c\00\00\00)\00\00\00\04\00\00\00\0e\00\00\00\0d\00\00\00*\00\00\00\0f\00\00\00\07\00\00\00+\00\00\00\04\00\00\00\15\00\00\00\00\00\00\00@\12\00\00\10\00\00\00\1d" "\00\00\00\03\00\00\00\0f\00\00\00\05\00\00\00\10\00\00\00\11\00\00\00\12\00\00\00\12\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\13\00\00\00\06\00\00\00\07\00\00\00\14\00\00\00\03\00\00\00\15" - "\00\00\00\16\00\00\00\17\00\00\00\00\00\00\00\90\12\00\00\1e\00\00\00\1f\00\00\00,\00\00\00-\00\00\00\01\00\00\00\02\00\00\00\10\00\00\00 \00\00\00!\00\00\00\11\00\00\00\01\00\00\00\12" - "\00\00\00\13\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\00\00\00\00x\11\00\00\01\00\00\00\"\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00.\00\00\00\04\00\00\00\01" - "\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\a0\12\00\00#\00\00\00$\00\00\00/\00\00\00\00\00\00\00\c8\12\00\00%" - "\00\00\00&\00\00\00\05\00\00\00\15\00\00\00\01\00\00\00\06\00\00\000\00\00\00\00\00\00\00\d8\12\00\00%\00\00\00'\00\00\00\07\00\00\00\16\00\00\00\02\00\00\00\06\00\00\000") + "\00\00\00\16\00\00\00\17\00\00\00\00\00\00\00\90\12\00\00\1e\00\00\00\1f\00\00\00,\00\00\00-\00\00\00\01\00\00\00\02\00\00\00\10\00\00\00\11\00\00\00 \00\00\00\12\00\00\00\01\00\00\00\13" + "\00\00\00\14\00\00\00\15\00\00\00\01\00\00\00\03\00\00\00\00\00\00\00x\11\00\00\01\00\00\00!\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00.\00\00\00\04\00\00\00\01" + "\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\a0\12\00\00\"\00\00\00#\00\00\00/\00\00\00\00\00\00\00\c8\12\00\00$" + "\00\00\00%\00\00\00\05\00\00\00\16\00\00\00\01\00\00\00\06\00\00\000\00\00\00\00\00\00\00\d8\12\00\00$\00\00\00&\00\00\00\07\00\00\00\17\00\00\00\02\00\00\00\06\00\00\000") (data $68 $28 (i32.const 6441) "\01\00\00\00\09\00\00\00\00\00\00\08\00\00\00\01\00\00\00 \00\00\00\00\10\04\00\00\ac>\00\00\b1>\00\00\10\0d\00\00\f0\12\00\00\80\13") (data $69 $28 (i32.const 6680) "<<") (data $70 $28 (i32.const 6740) - "\a0\14\00\00(\00\00\00)\00\00\002\00\00\00\02\00\00\00\00\00\00\00\b8\14\00\00*\00\00\00+\00\00\00,\00\00\00-\00\00\00\0b\00\00\00\01\00\00\00\02\00\00\00\04\00\00\00\00\00\00\00" - "\e0\14\00\00*\00\00\00.\00\00\00,\00\00\00-\00\00\00\0b\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\f0\14\00\00/\00\00\000\00\00\003") + "\a0\14\00\00'\00\00\00(\00\00\002\00\00\00\02\00\00\00\00\00\00\00\b8\14\00\00)\00\00\00*\00\00\00+\00\00\00,\00\00\00\0b\00\00\00\01\00\00\00\02\00\00\00\04\00\00\00\00\00\00\00" + "\e0\14\00\00)\00\00\00-\00\00\00+\00\00\00,\00\00\00\0b\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\f0\14\00\00.\00\00\00/\00\00\003") (data $71 $28 (i32.const 6865) - "\15\00\00/\00\00\001\00\00\003\00\00\00\00\00\00\000\15\00\00*\00\00\002\00\00\00,\00\00\00-\00\00\00\0c\00\00\00\00\00\00\00P\15\00\00*\00\00\003\00\00\00,\00\00\00-" + "\15\00\00.\00\00\000\00\00\003\00\00\00\00\00\00\000\15\00\00)\00\00\001\00\00\00+\00\00\00,\00\00\00\0c\00\00\00\00\00\00\00P\15\00\00)\00\00\002\00\00\00+\00\00\00," "\00\00\00\0b\00\00\00\03\00\00\00\04\00\00\00\06\00\00\00x-callout-url\00Forwarding to: \00:method\00:path\00:" "authority\00foo\00hello world\00trail\00cow\0014ExampleContext\007Context\0011" "ContextBase\00NSt3__210__function6__funcI3$_0NS_9allocatorIS2_EEFN" @@ -2473,7 +2473,7 @@ i32.store local.get $2 i32.const 5376 - i32.const 47 + i32.const 46 call $___cxa_throw end ;; $if_1 local.get $1 @@ -3193,7 +3193,7 @@ end ;; $if_1 local.get $2 i32.const 16 - i32.const 52 + i32.const 51 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i64.const 0 @@ -3293,7 +3293,7 @@ end ;; $if_1 local.get $1 i32.const 16 - i32.const 53 + i32.const 52 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 local.get $2 @@ -3332,7 +3332,7 @@ i32.store i32.const 15080 call $__ZN6google8protobuf6StructC2Ev - i32.const 54 + i32.const 53 i32.const 15080 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15112 @@ -3352,12 +3352,12 @@ i32.const 15132 i32.const 0 i32.store - i32.const 54 + i32.const 53 i32.const 15112 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15168 call $__ZN6google8protobuf9ListValueC2Ev - i32.const 54 + i32.const 53 i32.const 15168 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15064 @@ -14427,7 +14427,7 @@ end ;; $if_0 local.get $1 i32.const 24 - i32.const 55 + i32.const 54 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i32.const 0 @@ -19571,7 +19571,7 @@ i32.store local.get $1 i32.const 5280 - i32.const 40 + i32.const 39 call $___cxa_throw end ;; $if_8 local.get $5 @@ -20320,12 +20320,12 @@ call_indirect $27 (type $2) ) - (func $_proxy_onStart (type $6) + (func $_proxy_onStart (type $7) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -20334,229 +20334,226 @@ (local $10 i32) (local $11 i32) (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) global.get $31 - local.set $8 + local.set $7 global.get $31 i32.const 32 i32.add global.set $31 - local.get $8 - i32.const 24 + local.get $7 + i32.const 28 i32.add local.set $9 - local.get $8 - i32.const 12 + local.get $7 + i32.const 16 i32.add - local.set $3 - local.get $8 + local.set $6 + local.get $7 i32.const 8 i32.add - local.set $10 + local.set $11 + local.get $7 + i32.const 12 + i32.add + local.set $12 i32.const 8 call $__Znwm - local.tee $7 + local.tee $8 local.get $1 i32.store - local.get $7 + local.get $8 local.get $2 i32.store offset=4 + local.get $1 + local.set $13 block $block - i32.const 15244 - i32.load - local.tee $4 - if $if + block $block_0 + i32.const 15244 + i32.load + local.tee $5 + i32.eqz + br_if $block_0 i32.const 15240 i32.load - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const -1 i32.add - local.tee $6 + local.tee $10 i32.and i32.eqz - local.tee $11 - if $if_0 (result i32) + local.tee $14 + if $if (result i32) local.get $0 - local.get $6 + local.get $10 i32.and else - local.get $4 + local.get $5 local.get $0 i32.gt_u - if $if_1 (result i32) + if $if_0 (result i32) local.get $0 else - local.get $4 - if $if_2 (result i32) + local.get $5 + if $if_1 (result i32) local.get $0 - local.get $4 + local.get $5 i32.rem_u else i32.const 0 - end ;; $if_2 - end ;; $if_1 - end ;; $if_0 - local.tee $12 + end ;; $if_1 + end ;; $if_0 + end ;; $if + local.tee $15 i32.const 2 i32.shl i32.add i32.load - local.tee $5 - if $if_3 - local.get $5 - i32.load - local.tee $5 - if $if_4 - block $block_0 - block $block_1 - local.get $11 - if $if_5 - loop $loop - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $4 - i32.eq - local.tee $11 - local.get $4 - local.get $6 - i32.and - local.get $12 - i32.eq - i32.or - i32.eqz - br_if $block_0 - local.get $11 - if $if_6 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - end ;; $if_6 - local.get $5 - i32.load - local.tee $5 - br_if $loop - br $block_0 - unreachable - end ;; $loop - unreachable - else - loop $loop_0 - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $6 - i32.eq - if $if_7 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - else - local.get $6 - local.get $4 - i32.ge_u - if $if_8 (result i32) - local.get $4 - if $if_9 (result i32) - local.get $6 - local.get $4 - i32.rem_u - else - i32.const 0 - end ;; $if_9 - else - local.get $6 - end ;; $if_8 - local.get $12 - i32.ne - br_if $block_0 - end ;; $if_7 - local.get $5 - i32.load - local.tee $5 - br_if $loop_0 - br $block_0 - unreachable - end ;; $loop_0 - unreachable - end ;; $if_5 - unreachable - end ;; $block_1 - local.get $5 - i32.load offset=12 - local.tee $0 - i32.load - i32.load offset=8 - local.set $1 + local.tee $1 + i32.eqz + br_if $block_0 + local.get $1 + i32.load + local.tee $1 + i32.eqz + br_if $block_0 + block $block_1 + local.get $14 + if $if_2 + loop $loop local.get $0 local.get $1 - i32.const 63 + i32.load offset=4 + local.tee $5 + i32.eq + local.tee $14 + local.get $5 + local.get $10 i32.and - call_indirect $27 (type $2) - local.tee $0 + local.get $15 + i32.eq + i32.or + i32.eqz + br_if $block_0 + local.get $14 + if $if_3 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + end ;; $if_3 + local.get $1 i32.load - i32.load offset=28 - local.set $1 + local.tee $1 + br_if $loop + br $block_0 + unreachable + end ;; $loop + unreachable + else + loop $loop_0 local.get $0 local.get $1 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $27 (type $0) - br $block - end ;; $block_0 - end ;; $if_4 - end ;; $if_3 - end ;; $if - local.get $1 - local.set $4 + i32.load offset=4 + local.tee $10 + i32.eq + if $if_4 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + else + local.get $10 + local.get $5 + i32.ge_u + if $if_5 (result i32) + local.get $5 + if $if_6 (result i32) + local.get $10 + local.get $5 + i32.rem_u + else + i32.const 0 + end ;; $if_6 + else + local.get $10 + end ;; $if_5 + local.get $15 + i32.ne + br_if $block_0 + end ;; $if_4 + local.get $1 + i32.load + local.tee $1 + br_if $loop_0 + br $block_0 + unreachable + end ;; $loop_0 + unreachable + end ;; $if_2 + unreachable + end ;; $block_1 + local.get $1 + i32.load offset=12 + local.tee $0 + i32.load + i32.load offset=8 + local.set $1 + local.get $0 + local.get $1 + i32.const 63 + i32.and + call_indirect $27 (type $2) + local.set $0 + br $block + end ;; $block_0 i32.const 15280 i32.load i32.eqz - if $if_10 + if $if_7 i32.const 160 call $__Znwm - local.tee $3 + local.tee $5 i64.const 0 i64.store offset=4 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=12 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=20 - local.get $3 + local.get $5 i64.const 0 i64.store offset=24 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=32 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=40 - local.get $3 + local.get $5 i64.const 0 i64.store offset=44 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=52 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=60 - local.get $3 + local.get $5 i32.const -64 i32.sub local.get $0 i32.store - local.get $3 + local.get $5 i32.const 6200 i32.store - local.get $3 + local.get $5 i32.const 68 i32.add local.tee $1 @@ -20568,16 +20565,16 @@ local.get $2 i32.const -17 i32.gt_u - if $if_11 + if $if_8 call $_abort - end ;; $if_11 + end ;; $if_8 block $block_2 block $block_3 local.get $2 i32.const 11 i32.lt_u - if $if_12 - local.get $3 + if $if_9 + local.get $5 local.get $2 i32.store8 offset=79 local.get $2 @@ -20593,20 +20590,20 @@ call $__Znwm local.tee $1 i32.store - local.get $3 + local.get $5 local.get $6 i32.const -2147483648 i32.or i32.store offset=76 - local.get $3 + local.get $5 local.get $2 i32.store offset=72 br $block_3 - end ;; $if_12 + end ;; $if_9 br $block_2 end ;; $block_3 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -20616,40 +20613,40 @@ i32.add i32.const 0 i32.store8 - local.get $3 + local.get $5 i64.const 0 i64.store offset=80 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=88 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=96 - local.get $3 + local.get $5 i64.const 0 i64.store offset=100 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=108 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=116 - local.get $3 + local.get $5 i64.const 0 i64.store offset=120 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=128 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=136 - local.get $3 + local.get $5 i64.const 0 i64.store offset=140 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=148 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=156 local.get $9 @@ -20661,10 +20658,10 @@ i32.load local.set $0 local.get $1 - local.get $3 + local.get $5 i32.store local.get $0 - if $if_13 + if $if_10 local.get $0 local.get $0 i32.load @@ -20674,73 +20671,66 @@ i32.const 112 i32.add call_indirect $27 (type $0) - end ;; $if_13 - local.get $3 - local.get $3 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $27 (type $0) + end ;; $if_10 + local.get $5 + local.set $0 br $block - end ;; $if_10 - local.get $3 + end ;; $if_7 + local.get $6 i64.const 0 i64.store align=4 - local.get $3 + local.get $6 i32.const 0 i32.store offset=8 local.get $2 i32.const -17 i32.gt_u - if $if_14 + if $if_11 call $_abort - end ;; $if_14 + end ;; $if_11 block $block_4 block $block_5 local.get $2 i32.const 11 i32.lt_u - if $if_15 (result i32) - local.get $3 + if $if_12 (result i32) + local.get $6 local.get $2 i32.store8 offset=11 local.get $2 - if $if_16 (result i32) - local.get $3 + if $if_13 (result i32) + local.get $6 local.set $1 br $block_5 else - local.get $3 - end ;; $if_16 + local.get $6 + end ;; $if_13 else - local.get $3 + local.get $6 local.get $2 i32.const 16 i32.add i32.const -16 i32.and - local.tee $6 + local.tee $5 call $__Znwm local.tee $1 i32.store - local.get $3 local.get $6 + local.get $5 i32.const -2147483648 i32.or i32.store offset=8 - local.get $3 + local.get $6 local.get $2 i32.store offset=4 br $block_5 - end ;; $if_15 + end ;; $if_12 local.set $1 br $block_4 end ;; $block_5 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -20752,18 +20742,18 @@ i32.store8 i32.const 15280 i32.load - local.get $3 + local.get $6 call $__ZNSt3__212__hash_tableINS_17__hash_value_typeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_8functionIFNS_10unique_ptrI11RootContextNS_14default_deleteISA_EEEEjNS_17basic_string_viewIcS4_EEEEEEENS_22__unordered_map_hasherIS7_SI_NS_4hashIS7_EELb1EEENS_21__unordered_map_equalIS7_SI_NS_8equal_toIS7_EELb1EEENS5_ISI_EEE4findIS7_EENS_15__hash_iteratorIPNS_11__hash_nodeISI_PvEEEERKT_ local.tee $1 - if $if_17 (result i32) - local.get $7 + if $if_14 (result i32) + local.get $8 i32.load offset=4 local.set $2 - local.get $8 local.get $7 + local.get $8 i32.load i32.store - local.get $8 + local.get $7 local.get $2 i32.store offset=4 local.get $9 @@ -20773,7 +20763,7 @@ i32.load offset=40 local.tee $1 i32.eqz - if $if_18 + if $if_15 i32.const 4 call $___cxa_allocate_exception local.tee $2 @@ -20781,13 +20771,13 @@ i32.store local.get $2 i32.const 5280 - i32.const 40 + i32.const 39 call $___cxa_throw - end ;; $if_18 - local.get $10 + end ;; $if_15 + local.get $11 local.get $1 local.get $9 - local.get $8 + local.get $7 local.get $1 i32.load i32.load offset=24 @@ -20796,7 +20786,7 @@ i32.const 210 i32.add call_indirect $27 (type $5) - local.get $10 + local.get $11 i32.load local.tee $1 i32.load @@ -20808,7 +20798,7 @@ i32.and call_indirect $27 (type $2) local.set $1 - local.get $3 + local.get $6 call $__ZNSt3__213unordered_mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEP11RootContextNS_4hashIS6_EENS_8equal_toIS6_EENS4_INS_4pairIKS6_S8_EEEEEixERSE_ local.get $1 i32.store @@ -20818,20 +20808,20 @@ local.get $9 call $__ZNSt3__213unordered_mapIiNS_10unique_ptrI11ContextBaseNS_14default_deleteIS2_EEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEEixEOi local.set $2 - local.get $10 + local.get $11 i32.load - local.set $4 - local.get $10 + local.set $5 + local.get $11 i32.const 0 i32.store local.get $2 i32.load local.set $0 local.get $2 - local.get $4 + local.get $5 i32.store local.get $0 - if $if_19 + if $if_16 local.get $0 local.get $0 i32.load @@ -20841,15 +20831,15 @@ i32.const 112 i32.add call_indirect $27 (type $0) - end ;; $if_19 - local.get $10 + end ;; $if_16 + local.get $11 i32.load local.set $0 - local.get $10 + local.get $11 i32.const 0 i32.store local.get $0 - if $if_20 + if $if_17 local.get $0 local.get $0 i32.load @@ -20859,15 +20849,15 @@ i32.const 112 i32.add call_indirect $27 (type $0) - end ;; $if_20 + end ;; $if_17 local.get $1 else - local.get $7 + local.get $8 i32.load - local.set $6 - local.get $7 + local.set $10 + local.get $8 i32.load offset=4 - local.set $4 + local.set $5 i32.const 160 call $__Znwm local.tee $2 @@ -20914,54 +20904,54 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $4 + local.get $5 i32.const -17 i32.gt_u - if $if_21 + if $if_18 call $_abort - end ;; $if_21 + end ;; $if_18 block $block_6 block $block_7 - local.get $4 + local.get $5 i32.const 11 i32.lt_u - if $if_22 + if $if_19 local.get $2 - local.get $4 + local.get $5 i32.store8 offset=79 - local.get $4 + local.get $5 br_if $block_7 else local.get $1 - local.get $4 + local.get $5 i32.const 16 i32.add i32.const -16 i32.and - local.tee $5 + local.tee $13 call $__Znwm local.tee $1 i32.store local.get $2 - local.get $5 + local.get $13 i32.const -2147483648 i32.or i32.store offset=76 local.get $2 - local.get $4 + local.get $5 i32.store offset=72 br $block_7 - end ;; $if_22 + end ;; $if_19 br $block_6 end ;; $block_7 local.get $1 - local.get $6 - local.get $4 + local.get $10 + local.get $5 call $_memcpy drop end ;; $block_6 local.get $1 - local.get $4 + local.get $5 i32.add i32.const 0 i32.store8 @@ -21013,7 +21003,7 @@ local.get $2 i32.store local.get $0 - if $if_23 + if $if_20 local.get $0 local.get $0 i32.load @@ -21023,43 +21013,72 @@ i32.const 112 i32.add call_indirect $27 (type $0) - end ;; $if_23 + end ;; $if_20 local.get $2 - end ;; $if_17 + end ;; $if_14 local.set $0 - local.get $3 + local.get $6 i32.load8_s offset=11 i32.const 0 i32.lt_s - if $if_24 - local.get $3 + if $if_21 + local.get $6 i32.load call $_free - end ;; $if_24 - local.get $0 - local.get $0 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $27 (type $0) - local.get $7 + end ;; $if_21 + end ;; $block + local.get $0 + i32.load + i32.load offset=28 + local.set $2 + i32.const 8 + call $__Znwm + local.tee $1 + local.get $3 + i32.store + local.get $1 + local.get $4 + i32.store offset=4 + local.get $12 + local.get $1 + i32.store + local.get $0 + local.get $12 + local.get $2 + i32.const 31 + i32.and + i32.const 176 + i32.add + call_indirect $27 (type $1) + local.get $12 + i32.load + local.set $0 + local.get $12 + i32.const 0 + i32.store + local.get $0 + i32.eqz + if $if_22 + local.get $8 i32.load call $_free - local.get $7 - call $_free local.get $8 + call $_free + local.get $7 global.set $31 return - end ;; $block - local.get $7 + end ;; $if_22 + local.get $0 i32.load call $_free - local.get $7 + local.get $0 call $_free local.get $8 + i32.load + call $_free + local.get $8 + call $_free + local.get $7 global.set $31 ) @@ -22886,7 +22905,7 @@ i32.store local.get $1 i32.const 5376 - i32.const 47 + i32.const 46 call $___cxa_throw end ;; $if_1 local.get $0 @@ -23433,7 +23452,7 @@ i32.store local.get $1 i32.const 5376 - i32.const 47 + i32.const 46 call $___cxa_throw end ;; $if_1 local.get $0 @@ -24201,7 +24220,7 @@ i32.store local.get $1 i32.const 5280 - i32.const 40 + i32.const 39 call $___cxa_throw end ;; $if_8 local.get $0 @@ -25054,7 +25073,7 @@ i32.store local.get $1 i32.const 5280 - i32.const 40 + i32.const 39 call $___cxa_throw end ;; $if_10 local.get $0 @@ -25633,7 +25652,7 @@ i32.store local.get $1 i32.const 5280 - i32.const 40 + i32.const 39 call $___cxa_throw end ;; $if_10 local.get $0 @@ -29288,7 +29307,7 @@ i32.store local.get $2 i32.const 5376 - i32.const 47 + i32.const 46 call $___cxa_throw end ;; $if_1 local.get $1 @@ -29825,7 +29844,7 @@ call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_ local.get $2 i32.const 4768 - i32.const 35 + i32.const 34 call $___cxa_throw else local.get $1 @@ -29852,7 +29871,7 @@ i32.const 15292 local.get $0 i32.store - i32.const 57 + i32.const 56 i32.const 4 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -30105,7 +30124,7 @@ i32.store local.get $3 i32.const 5376 - i32.const 47 + i32.const 46 call $___cxa_throw else local.get $2 @@ -31238,14 +31257,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 53 + i32.const 52 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 53 + i32.const 52 i32.store offset=4 local.get $2 local.get $0 @@ -31294,14 +31313,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 53 + i32.const 52 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 53 + i32.const 52 i32.store offset=4 local.get $2 local.get $0 @@ -41580,7 +41599,7 @@ i32.const 15216 i32.const 0 i32.store - i32.const 58 + i32.const 57 i32.const 15208 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ end ;; $if_5 @@ -53239,7 +53258,7 @@ end ;; $block_0 local.get $0 local.get $2 - i32.const 199 + i32.const 200 call_indirect $27 (type $1) end ;; $block end ;; $if @@ -61280,7 +61299,7 @@ i32.const 1 i32.store local.get $0 - i32.const 168 + i32.const 167 call_indirect $27 (type $0) i32.const 15288 i32.const -1 diff --git a/test/extensions/filters/http/wasm/test_data/metadata_cpp.wasm b/test/extensions/filters/http/wasm/test_data/metadata_cpp.wasm index dd312c7ffeb2..6d237974431a 100644 Binary files a/test/extensions/filters/http/wasm/test_data/metadata_cpp.wasm and b/test/extensions/filters/http/wasm/test_data/metadata_cpp.wasm differ diff --git a/test/extensions/filters/http/wasm/test_data/metadata_cpp.wat b/test/extensions/filters/http/wasm/test_data/metadata_cpp.wat index 655b0d5c1b73..9985bb310300 100644 --- a/test/extensions/filters/http/wasm/test_data/metadata_cpp.wat +++ b/test/extensions/filters/http/wasm/test_data/metadata_cpp.wat @@ -127,17 +127,17 @@ $b3 $b3 $b4 $__ZNK6google8protobuf2io17ArrayOutputStream9ByteCountEv $__ZNK6google8protobuf2io18StringOutputStream9ByteCountEv $b4 $b5 $___stdio_seek $b6 $__ZN30protobuf_struct_5flite_2eprotoL21InitDefaultsListValueEv $__ZL25default_terminate_handlerv $__ZN6google8protobuf8internal20InitLogSilencerCountEv $__ZN6google8protobuf8internal22DeleteLogSilencerCountEv $__ZN10__cxxabiv112_GLOBAL__N_110construct_Ev $b6 $b6 $b7 $__ZN11ContextBaseD2Ev $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv $__ZN14ExampleContext6onDoneEv $__ZN14ExampleContext5onLogEv $__ZN7Context8onCreateEv $__ZN11RootContextD2Ev - $__ZN18ExampleRootContextD0Ev $__ZN7Context8onCreateEv $__ZN18ExampleRootContext6onTickEv $__ZN14ExampleContextD0Ev $__ZN18ExampleRootContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev - $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev - $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv $__ZN6google8protobuf5ValueD2Ev $__ZN6google8protobuf5ValueD0Ev $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev - $__ZN6google8protobuf6StructD2Ev $__ZN6google8protobuf6StructD0Ev $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN6google8protobuf14FatalExceptionD2Ev - $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev - $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev - $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv - $b8 $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE $__ZNKSt3__210__function6__funcI3__1NS_9allocatorIS2_EEFNS_10unique_ptrI11RootContextNS_14default_deleteIS6_EEEEjNS_17basic_string_viewIcNS_11char_traitsIcEEEEEE7__cloneEPNS0_6__baseISE_EE - $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf5Value11GetTypeNameEv $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf9ListValue11GetTypeNameEv - $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double - $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 + $__ZN18ExampleRootContextD0Ev $__ZN18ExampleRootContext6onTickEv $__ZN14ExampleContextD0Ev $__ZN18ExampleRootContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv + $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv + $__ZN6google8protobuf5ValueD2Ev $__ZN6google8protobuf5ValueD0Ev $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf6StructD2Ev + $__ZN6google8protobuf6StructD0Ev $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev + $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv + $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv + $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 + $b8 $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE + $__ZNKSt3__210__function6__funcI3__1NS_9allocatorIS2_EEFNS_10unique_ptrI11RootContextNS_14default_deleteIS6_EEEEjNS_17basic_string_viewIcNS_11char_traitsIcEEEEEE7__cloneEPNS0_6__baseISE_EE $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf5Value11GetTypeNameEv $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE + $__ZNK6google8protobuf9ListValue11GetTypeNameEv $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi + $_pop_arg_long_double $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b9 $__ZN11RootContext13onGrpcReceiveEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $b10 $__ZN11RootContext11onGrpcCloseEj10GrpcStatusNSt3__210unique_ptrI8WasmDataNS1_14default_deleteIS3_EEEE $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEEclEOjOSB_ $__ZNSt3__210__function6__funcI3__1NS_9allocatorIS2_EEFNS_10unique_ptrI11RootContextNS_14default_deleteIS6_EEEEjNS_17basic_string_viewIcNS_11char_traitsIcEEEEEEclEOjOSD_ $__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $b10 $b11 $__ZN11RootContext18onHttpCallResponseEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEES5_S5_ $__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $b11 $b11 $b11 $b12 $__ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $__ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $b13) @@ -251,34 +251,34 @@ "\f0\1a\00\00\859\00\00 \15\00\00\00\00\00\00\f0\1a\00\00\cb9\00\00\d8\14\00\00\00\00\00\00@\1b\00\00\f39\00\00@\1b\00\00\f59\00\00\f0\1a\00\00\f79\00\00\c8\14") (data $64 $27 (i32.const 5492) "\88\11\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\01\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00" - "\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\a8\11\00\00\07\00\00\00\08\00\00\00\09\00\00\00\n\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\09\00\00\00\n\00\00\00\02\00\00\00\01\00\00\00" - "\03\00\00\00\04\00\00\00\05\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00p\11\00\00\01\00\00\00\0b\00\00\00\0b\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\98\11\00\00\07\00\00\00" - "\0c\00\00\00\09\00\00\00\n\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\09\00\00\00\0d\00\00\00\02\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00" - "\e0\11\00\00\0e\00\00\00\0f\00\00\00\0d\00\00\00\06\00\00\00\10\00\00\00\11\00\00\00\02\00\00\00\03\00\00\00\0e") + "\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\a8\11\00\00\07\00\00\00\08\00\00\00\09\00\00\00\n\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\09\00\00\00\03\00\00\00\01\00\00\00" + "\04\00\00\00\05\00\00\00\06\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00p\11\00\00\01\00\00\00\n\00\00\00\0b\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\98\11\00\00\07\00\00\00" + "\0b\00\00\00\09\00\00\00\n\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\0c\00\00\00\03\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00" + "\e0\11\00\00\0d\00\00\00\0e\00\00\00\0d\00\00\00\07\00\00\00\0f\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\0e") (data $65 $27 (i32.const 5793) - "\12\00\00\12\00\00\00\13\00\00\00\0f\00\00\00\07\00\00\00\14\00\00\00\15\00\00\00\03\00\00\00\04\00\00\00\10\00\00\00\ff\ff\ff\ff\00\00\00\00\01") + "\12\00\00\11\00\00\00\12\00\00\00\0f\00\00\00\08\00\00\00\13\00\00\00\14\00\00\00\03\00\00\00\04\00\00\00\10\00\00\00\ff\ff\ff\ff\00\00\00\00\01") (data $66 $27 (i32.const 5852) - "@\12\00\00\16\00\00\00\17\00\00\00\08\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\18\00\00\00\14\00\00\00\09\00\00\00\n\00\00\00\06\00\00\00\15\00\00\00\0b\00\00\00\07\00\00\00" - "\16\00\00\00\03\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\00\00\00\00\a0\12\00\00\19\00\00\00\1a\00\00\00\0c\00\00\00\1a\00\00\00\08\00\00\00\1b\00\00\00\1c\00\00\00\1b\00\00\00\1d\00\00\00" - "\09\00\00\00\0d\00\00\00\09\00\00\00\1e\00\00\00\0e\00\00\00\07\00\00\00\1f\00\00\00\04\00\00\00\17\00\00\00\00\00\00\00 \12\00\00\1c\00\00\00\1d\00\00\00\0f\00\00\00 \00\00\00\n\00\00\00" - "!\00\00\00\"\00\00\00\1e\00\00\00#\00\00\00\09\00\00\00\10\00\00\00\0b\00\00\00$\00\00\00\11\00\00\00\07\00\00\00%\00\00\00\04\00\00\00\17\00\00\00\00\00\00\000\12\00\00\16\00\00\00" - "\1f\00\00\00\08\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\18\00\00\00\14\00\00\00\09\00\00\00\n\00\00\00\06\00\00\00\15\00\00\00\0b\00\00\00\07\00\00\00\16\00\00\00\03\00\00\00" - "\17\00\00\00&\00\00\00'\00\00\00\00\00\00\00p\12\00\00 \00\00\00!\00\00\00\12\00\00\00(\00\00\00\0c\00\00\00)\00\00\00*\00\00\00\"\00\00\00+\00\00\00\09\00\00\00\13\00\00\00" - "\0d\00\00\00,\00\00\00\14\00\00\00\07\00\00\00-\00\00\00\04\00\00\00\17\00\00\00\00\00\00\00`\12\00\00\16\00\00\00#\00\00\00\08\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00" - "\18\00\00\00\14\00\00\00\09\00\00\00\n\00\00\00\06\00\00\00\15\00\00\00\0b\00\00\00\07\00\00\00\16\00\00\00\03\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\00\00\00\00x\11\00\00\01\00\00\00" - "$\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00.\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00%\00\00\00&\00\00\00" - "\06\00\00\00\00\00\00\00\b0\12\00\00'\00\00\00(\00\00\00/\00\00\00\00\00\00\00\d8\12\00\00)\00\00\00*\00\00\00\06\00\00\00\15\00\00\00\01\00\00\00\07\00\00\000\00\00\00\00\00\00\00" - "\e8\12\00\00)\00\00\00+\00\00\00\08\00\00\00\16\00\00\00\02\00\00\00\07\00\00\000") + "@\12\00\00\15\00\00\00\16\00\00\00\09\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\17\00\00\00\14\00\00\00\n\00\00\00\0b\00\00\00\06\00\00\00\15\00\00\00\0c\00\00\00\07\00\00\00" + "\16\00\00\00\03\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\00\00\00\00\a0\12\00\00\18\00\00\00\19\00\00\00\0d\00\00\00\1a\00\00\00\08\00\00\00\1b\00\00\00\1c\00\00\00\1a\00\00\00\1d\00\00\00" + "\n\00\00\00\0e\00\00\00\09\00\00\00\1e\00\00\00\0f\00\00\00\07\00\00\00\1f\00\00\00\04\00\00\00\17\00\00\00\00\00\00\00 \12\00\00\1b\00\00\00\1c\00\00\00\10\00\00\00 \00\00\00\n\00\00\00" + "!\00\00\00\"\00\00\00\1d\00\00\00#\00\00\00\n\00\00\00\11\00\00\00\0b\00\00\00$\00\00\00\12\00\00\00\07\00\00\00%\00\00\00\04\00\00\00\17\00\00\00\00\00\00\000\12\00\00\15\00\00\00" + "\1e\00\00\00\09\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\17\00\00\00\14\00\00\00\n\00\00\00\0b\00\00\00\06\00\00\00\15\00\00\00\0c\00\00\00\07\00\00\00\16\00\00\00\03\00\00\00" + "\17\00\00\00&\00\00\00'\00\00\00\00\00\00\00p\12\00\00\1f\00\00\00 \00\00\00\13\00\00\00(\00\00\00\0c\00\00\00)\00\00\00*\00\00\00!\00\00\00+\00\00\00\n\00\00\00\14\00\00\00" + "\0d\00\00\00,\00\00\00\15\00\00\00\07\00\00\00-\00\00\00\04\00\00\00\17\00\00\00\00\00\00\00`\12\00\00\15\00\00\00\"\00\00\00\09\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00" + "\17\00\00\00\14\00\00\00\n\00\00\00\0b\00\00\00\06\00\00\00\15\00\00\00\0c\00\00\00\07\00\00\00\16\00\00\00\03\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\00\00\00\00x\11\00\00\01\00\00\00" + "#\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00.\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00$\00\00\00%\00\00\00" + "\06\00\00\00\00\00\00\00\b0\12\00\00&\00\00\00'\00\00\00/\00\00\00\00\00\00\00\d8\12\00\00(\00\00\00)\00\00\00\06\00\00\00\16\00\00\00\01\00\00\00\07\00\00\000\00\00\00\00\00\00\00" + "\e8\12\00\00(\00\00\00*\00\00\00\08\00\00\00\17\00\00\00\02\00\00\00\07\00\00\000") (data $67 $27 (i32.const 6529) "\01\00\00\00\09\00\00\00\00\00\00\08\00\00\00\01\00\00\00 \00\00\00\00\10\04\00\00\0cB\00\00\11B\00\00\10\0d\00\00\00\13\00\00\90\13") (data $68 $27 (i32.const 6768) "\9c?") (data $69 $27 (i32.const 6828) - "\b0\14\00\00,\00\00\00-\00\00\002\00\00\00\02\00\00\00\00\00\00\00\c8\14\00\00.\00\00\00/\00\00\000\00\00\001\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\04\00\00\00\00\00\00\00" - "\f0\14\00\00.\00\00\002\00\00\000\00\00\001\00\00\00\0c\00\00\00\02\00\00\00\03\00\00\00\05") + "\b0\14\00\00+\00\00\00,\00\00\002\00\00\00\02\00\00\00\00\00\00\00\c8\14\00\00-\00\00\00.\00\00\00/\00\00\000\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\04\00\00\00\00\00\00\00" + "\f0\14\00\00-\00\00\001\00\00\00/\00\00\000\00\00\00\0c\00\00\00\02\00\00\00\03\00\00\00\05") (data $70 $27 (i32.const 6933) - "\15\00\003\00\00\004\00\00\003\00\00\00\00\00\00\00\10\15\00\003\00\00\005\00\00\003\00\00\00\00\00\00\00@\15\00\00.\00\00\006\00\00\000\00\00\001\00\00\00\0d\00\00\00\00" - "\00\00\00`\15\00\00.\00\00\007\00\00\000\00\00\001\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\06\00\00\00wasm_node_get_key\00onTick " + "\15\00\002\00\00\003\00\00\003\00\00\00\00\00\00\00\10\15\00\002\00\00\004\00\00\003\00\00\00\00\00\00\00@\15\00\00-\00\00\005\00\00\00/\00\00\000\00\00\00\0d\00\00\00\00" + "\00\00\00`\15\00\00-\00\00\006\00\00\00/\00\00\000\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\06\00\00\00wasm_node_get_key\00onTick " "metadata error\00onTick \00onRequestHeaders metadata error\00wasm_requ" "est_set_key\00wasm_request_set_value\00:path\00header path \00newheader\00" "newheadervalue\00server\00envoy-wasm\00onRequestBody \00Struct \00wasm_req" @@ -2761,7 +2761,7 @@ i32.store local.get $1 i32.const 5296 - i32.const 44 + i32.const 43 call $___cxa_throw end ;; $if_8 local.get $0 @@ -3614,7 +3614,7 @@ i32.store local.get $1 i32.const 5296 - i32.const 44 + i32.const 43 call $___cxa_throw end ;; $if_10 local.get $0 @@ -4193,7 +4193,7 @@ i32.store local.get $1 i32.const 5296 - i32.const 44 + i32.const 43 call $___cxa_throw end ;; $if_10 local.get $0 @@ -6440,7 +6440,7 @@ i32.store local.get $2 i32.const 5392 - i32.const 51 + i32.const 50 call $___cxa_throw else local.get $4 @@ -6670,7 +6670,7 @@ i32.store local.get $2 i32.const 5392 - i32.const 51 + i32.const 50 call $___cxa_throw end ;; $if_1 local.get $1 @@ -7358,7 +7358,7 @@ end ;; $if_1 local.get $1 i32.const 16 - i32.const 56 + i32.const 55 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 local.get $2 @@ -10327,7 +10327,7 @@ end ;; $if_1 local.get $2 i32.const 16 - i32.const 57 + i32.const 56 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i64.const 0 @@ -10373,7 +10373,7 @@ i32.store i32.const 15944 call $__ZN6google8protobuf6StructC2Ev - i32.const 58 + i32.const 57 i32.const 15944 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15976 @@ -10393,12 +10393,12 @@ i32.const 15996 i32.const 0 i32.store - i32.const 58 + i32.const 57 i32.const 15976 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 16032 call $__ZN6google8protobuf9ListValueC2Ev - i32.const 58 + i32.const 57 i32.const 16032 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15928 @@ -20946,7 +20946,7 @@ end ;; $if_0 local.get $1 i32.const 24 - i32.const 59 + i32.const 58 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i32.const 0 @@ -26213,7 +26213,7 @@ i32.store local.get $1 i32.const 5296 - i32.const 44 + i32.const 43 call $___cxa_throw end ;; $if_8 local.get $5 @@ -26962,12 +26962,12 @@ call_indirect $26 (type $5) ) - (func $_proxy_onStart (type $2) + (func $_proxy_onStart (type $7) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -26976,229 +26976,226 @@ (local $10 i32) (local $11 i32) (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) global.get $30 - local.set $8 + local.set $7 global.get $30 i32.const 32 i32.add global.set $30 - local.get $8 - i32.const 24 + local.get $7 + i32.const 28 i32.add local.set $9 - local.get $8 - i32.const 12 + local.get $7 + i32.const 16 i32.add - local.set $3 - local.get $8 + local.set $6 + local.get $7 i32.const 8 i32.add - local.set $10 + local.set $11 + local.get $7 + i32.const 12 + i32.add + local.set $12 i32.const 8 call $__Znwm - local.tee $7 + local.tee $8 local.get $1 i32.store - local.get $7 + local.get $8 local.get $2 i32.store offset=4 + local.get $1 + local.set $13 block $block - i32.const 16108 - i32.load - local.tee $4 - if $if + block $block_0 + i32.const 16108 + i32.load + local.tee $5 + i32.eqz + br_if $block_0 i32.const 16104 i32.load - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const -1 i32.add - local.tee $6 + local.tee $10 i32.and i32.eqz - local.tee $11 - if $if_0 (result i32) + local.tee $14 + if $if (result i32) local.get $0 - local.get $6 + local.get $10 i32.and else - local.get $4 + local.get $5 local.get $0 i32.gt_u - if $if_1 (result i32) + if $if_0 (result i32) local.get $0 else - local.get $4 - if $if_2 (result i32) + local.get $5 + if $if_1 (result i32) local.get $0 - local.get $4 + local.get $5 i32.rem_u else i32.const 0 - end ;; $if_2 - end ;; $if_1 - end ;; $if_0 - local.tee $12 + end ;; $if_1 + end ;; $if_0 + end ;; $if + local.tee $15 i32.const 2 i32.shl i32.add i32.load - local.tee $5 - if $if_3 - local.get $5 - i32.load - local.tee $5 - if $if_4 - block $block_0 - block $block_1 - local.get $11 - if $if_5 - loop $loop - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $4 - i32.eq - local.tee $11 - local.get $4 - local.get $6 - i32.and - local.get $12 - i32.eq - i32.or - i32.eqz - br_if $block_0 - local.get $11 - if $if_6 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - end ;; $if_6 - local.get $5 - i32.load - local.tee $5 - br_if $loop - br $block_0 - unreachable - end ;; $loop - unreachable - else - loop $loop_0 - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $6 - i32.eq - if $if_7 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - else - local.get $6 - local.get $4 - i32.ge_u - if $if_8 (result i32) - local.get $4 - if $if_9 (result i32) - local.get $6 - local.get $4 - i32.rem_u - else - i32.const 0 - end ;; $if_9 - else - local.get $6 - end ;; $if_8 - local.get $12 - i32.ne - br_if $block_0 - end ;; $if_7 - local.get $5 - i32.load - local.tee $5 - br_if $loop_0 - br $block_0 - unreachable - end ;; $loop_0 - unreachable - end ;; $if_5 - unreachable - end ;; $block_1 - local.get $5 - i32.load offset=12 - local.tee $0 - i32.load - i32.load offset=8 - local.set $1 + local.tee $1 + i32.eqz + br_if $block_0 + local.get $1 + i32.load + local.tee $1 + i32.eqz + br_if $block_0 + block $block_1 + local.get $14 + if $if_2 + loop $loop local.get $0 local.get $1 - i32.const 63 + i32.load offset=4 + local.tee $5 + i32.eq + local.tee $14 + local.get $5 + local.get $10 i32.and - call_indirect $26 (type $5) - local.tee $0 + local.get $15 + i32.eq + i32.or + i32.eqz + br_if $block_0 + local.get $14 + if $if_3 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + end ;; $if_3 + local.get $1 i32.load - i32.load offset=28 - local.set $1 + local.tee $1 + br_if $loop + br $block_0 + unreachable + end ;; $loop + unreachable + else + loop $loop_0 local.get $0 local.get $1 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) - br $block - end ;; $block_0 - end ;; $if_4 - end ;; $if_3 - end ;; $if - local.get $1 - local.set $4 + i32.load offset=4 + local.tee $10 + i32.eq + if $if_4 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + else + local.get $10 + local.get $5 + i32.ge_u + if $if_5 (result i32) + local.get $5 + if $if_6 (result i32) + local.get $10 + local.get $5 + i32.rem_u + else + i32.const 0 + end ;; $if_6 + else + local.get $10 + end ;; $if_5 + local.get $15 + i32.ne + br_if $block_0 + end ;; $if_4 + local.get $1 + i32.load + local.tee $1 + br_if $loop_0 + br $block_0 + unreachable + end ;; $loop_0 + unreachable + end ;; $if_2 + unreachable + end ;; $block_1 + local.get $1 + i32.load offset=12 + local.tee $0 + i32.load + i32.load offset=8 + local.set $1 + local.get $0 + local.get $1 + i32.const 63 + i32.and + call_indirect $26 (type $5) + local.set $0 + br $block + end ;; $block_0 i32.const 16144 i32.load i32.eqz - if $if_10 + if $if_7 i32.const 160 call $__Znwm - local.tee $3 + local.tee $5 i64.const 0 i64.store offset=4 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=12 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=20 - local.get $3 + local.get $5 i64.const 0 i64.store offset=24 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=32 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=40 - local.get $3 + local.get $5 i64.const 0 i64.store offset=44 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=52 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=60 - local.get $3 + local.get $5 i32.const -64 i32.sub local.get $0 i32.store - local.get $3 + local.get $5 i32.const 5680 i32.store - local.get $3 + local.get $5 i32.const 68 i32.add local.tee $1 @@ -27210,16 +27207,16 @@ local.get $2 i32.const -17 i32.gt_u - if $if_11 + if $if_8 call $_abort - end ;; $if_11 + end ;; $if_8 block $block_2 block $block_3 local.get $2 i32.const 11 i32.lt_u - if $if_12 - local.get $3 + if $if_9 + local.get $5 local.get $2 i32.store8 offset=79 local.get $2 @@ -27235,20 +27232,20 @@ call $__Znwm local.tee $1 i32.store - local.get $3 + local.get $5 local.get $6 i32.const -2147483648 i32.or i32.store offset=76 - local.get $3 + local.get $5 local.get $2 i32.store offset=72 br $block_3 - end ;; $if_12 + end ;; $if_9 br $block_2 end ;; $block_3 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -27258,40 +27255,40 @@ i32.add i32.const 0 i32.store8 - local.get $3 + local.get $5 i64.const 0 i64.store offset=80 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=88 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=96 - local.get $3 + local.get $5 i64.const 0 i64.store offset=100 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=108 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=116 - local.get $3 + local.get $5 i64.const 0 i64.store offset=120 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=128 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=136 - local.get $3 + local.get $5 i64.const 0 i64.store offset=140 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=148 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=156 local.get $9 @@ -27303,10 +27300,10 @@ i32.load local.set $0 local.get $1 - local.get $3 + local.get $5 i32.store local.get $0 - if $if_13 + if $if_10 local.get $0 local.get $0 i32.load @@ -27316,73 +27313,66 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_13 - local.get $3 - local.get $3 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) + end ;; $if_10 + local.get $5 + local.set $0 br $block - end ;; $if_10 - local.get $3 + end ;; $if_7 + local.get $6 i64.const 0 i64.store align=4 - local.get $3 + local.get $6 i32.const 0 i32.store offset=8 local.get $2 i32.const -17 i32.gt_u - if $if_14 + if $if_11 call $_abort - end ;; $if_14 + end ;; $if_11 block $block_4 block $block_5 local.get $2 i32.const 11 i32.lt_u - if $if_15 (result i32) - local.get $3 + if $if_12 (result i32) + local.get $6 local.get $2 i32.store8 offset=11 local.get $2 - if $if_16 (result i32) - local.get $3 + if $if_13 (result i32) + local.get $6 local.set $1 br $block_5 else - local.get $3 - end ;; $if_16 + local.get $6 + end ;; $if_13 else - local.get $3 + local.get $6 local.get $2 i32.const 16 i32.add i32.const -16 i32.and - local.tee $6 + local.tee $5 call $__Znwm local.tee $1 i32.store - local.get $3 local.get $6 + local.get $5 i32.const -2147483648 i32.or i32.store offset=8 - local.get $3 + local.get $6 local.get $2 i32.store offset=4 br $block_5 - end ;; $if_15 + end ;; $if_12 local.set $1 br $block_4 end ;; $block_5 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -27394,18 +27384,18 @@ i32.store8 i32.const 16144 i32.load - local.get $3 + local.get $6 call $__ZNSt3__212__hash_tableINS_17__hash_value_typeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_8functionIFNS_10unique_ptrI11RootContextNS_14default_deleteISA_EEEEjNS_17basic_string_viewIcS4_EEEEEEENS_22__unordered_map_hasherIS7_SI_NS_4hashIS7_EELb1EEENS_21__unordered_map_equalIS7_SI_NS_8equal_toIS7_EELb1EEENS5_ISI_EEE4findIS7_EENS_15__hash_iteratorIPNS_11__hash_nodeISI_PvEEEERKT_ local.tee $1 - if $if_17 (result i32) - local.get $7 + if $if_14 (result i32) + local.get $8 i32.load offset=4 local.set $2 - local.get $8 local.get $7 + local.get $8 i32.load i32.store - local.get $8 + local.get $7 local.get $2 i32.store offset=4 local.get $9 @@ -27415,7 +27405,7 @@ i32.load offset=40 local.tee $1 i32.eqz - if $if_18 + if $if_15 i32.const 4 call $___cxa_allocate_exception local.tee $2 @@ -27423,13 +27413,13 @@ i32.store local.get $2 i32.const 5296 - i32.const 44 + i32.const 43 call $___cxa_throw - end ;; $if_18 - local.get $10 + end ;; $if_15 + local.get $11 local.get $1 local.get $9 - local.get $8 + local.get $7 local.get $1 i32.load i32.load offset=24 @@ -27438,7 +27428,7 @@ i32.const 210 i32.add call_indirect $26 (type $1) - local.get $10 + local.get $11 i32.load local.tee $1 i32.load @@ -27450,7 +27440,7 @@ i32.and call_indirect $26 (type $5) local.set $1 - local.get $3 + local.get $6 call $__ZNSt3__213unordered_mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEP11RootContextNS_4hashIS6_EENS_8equal_toIS6_EENS4_INS_4pairIKS6_S8_EEEEEixERSE_ local.get $1 i32.store @@ -27460,20 +27450,20 @@ local.get $9 call $__ZNSt3__213unordered_mapIiNS_10unique_ptrI11ContextBaseNS_14default_deleteIS2_EEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEEixEOi local.set $2 - local.get $10 + local.get $11 i32.load - local.set $4 - local.get $10 + local.set $5 + local.get $11 i32.const 0 i32.store local.get $2 i32.load local.set $0 local.get $2 - local.get $4 + local.get $5 i32.store local.get $0 - if $if_19 + if $if_16 local.get $0 local.get $0 i32.load @@ -27483,15 +27473,15 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_19 - local.get $10 + end ;; $if_16 + local.get $11 i32.load local.set $0 - local.get $10 + local.get $11 i32.const 0 i32.store local.get $0 - if $if_20 + if $if_17 local.get $0 local.get $0 i32.load @@ -27501,15 +27491,15 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_20 + end ;; $if_17 local.get $1 else - local.get $7 + local.get $8 i32.load - local.set $6 - local.get $7 + local.set $10 + local.get $8 i32.load offset=4 - local.set $4 + local.set $5 i32.const 160 call $__Znwm local.tee $2 @@ -27556,54 +27546,54 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $4 + local.get $5 i32.const -17 i32.gt_u - if $if_21 + if $if_18 call $_abort - end ;; $if_21 + end ;; $if_18 block $block_6 block $block_7 - local.get $4 + local.get $5 i32.const 11 i32.lt_u - if $if_22 + if $if_19 local.get $2 - local.get $4 + local.get $5 i32.store8 offset=79 - local.get $4 + local.get $5 br_if $block_7 else local.get $1 - local.get $4 + local.get $5 i32.const 16 i32.add i32.const -16 i32.and - local.tee $5 + local.tee $13 call $__Znwm local.tee $1 i32.store local.get $2 - local.get $5 + local.get $13 i32.const -2147483648 i32.or i32.store offset=76 local.get $2 - local.get $4 + local.get $5 i32.store offset=72 br $block_7 - end ;; $if_22 + end ;; $if_19 br $block_6 end ;; $block_7 local.get $1 - local.get $6 - local.get $4 + local.get $10 + local.get $5 call $_memcpy drop end ;; $block_6 local.get $1 - local.get $4 + local.get $5 i32.add i32.const 0 i32.store8 @@ -27655,7 +27645,7 @@ local.get $2 i32.store local.get $0 - if $if_23 + if $if_20 local.get $0 local.get $0 i32.load @@ -27665,43 +27655,72 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_23 + end ;; $if_20 local.get $2 - end ;; $if_17 + end ;; $if_14 local.set $0 - local.get $3 + local.get $6 i32.load8_s offset=11 i32.const 0 i32.lt_s - if $if_24 - local.get $3 + if $if_21 + local.get $6 i32.load call $_free - end ;; $if_24 - local.get $0 - local.get $0 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) - local.get $7 + end ;; $if_21 + end ;; $block + local.get $0 + i32.load + i32.load offset=28 + local.set $2 + i32.const 8 + call $__Znwm + local.tee $1 + local.get $3 + i32.store + local.get $1 + local.get $4 + i32.store offset=4 + local.get $12 + local.get $1 + i32.store + local.get $0 + local.get $12 + local.get $2 + i32.const 31 + i32.and + i32.const 176 + i32.add + call_indirect $26 (type $3) + local.get $12 + i32.load + local.set $0 + local.get $12 + i32.const 0 + i32.store + local.get $0 + i32.eqz + if $if_22 + local.get $8 i32.load call $_free - local.get $7 - call $_free local.get $8 + call $_free + local.get $7 global.set $30 return - end ;; $block - local.get $7 + end ;; $if_22 + local.get $0 i32.load call $_free - local.get $7 + local.get $0 call $_free local.get $8 + i32.load + call $_free + local.get $8 + call $_free + local.get $7 global.set $30 ) @@ -29528,7 +29547,7 @@ i32.store local.get $1 i32.const 5392 - i32.const 51 + i32.const 50 call $___cxa_throw end ;; $if_1 local.get $0 @@ -30075,7 +30094,7 @@ i32.store local.get $1 i32.const 5392 - i32.const 51 + i32.const 50 call $___cxa_throw end ;; $if_1 local.get $0 @@ -32738,7 +32757,7 @@ i32.store local.get $2 i32.const 5392 - i32.const 51 + i32.const 50 call $___cxa_throw end ;; $if_1 local.get $1 @@ -33275,7 +33294,7 @@ call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_ local.get $2 i32.const 4784 - i32.const 39 + i32.const 38 call $___cxa_throw else local.get $1 @@ -33302,7 +33321,7 @@ i32.const 16156 local.get $0 i32.store - i32.const 61 + i32.const 60 i32.const 4 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -33555,7 +33574,7 @@ i32.store local.get $3 i32.const 5392 - i32.const 51 + i32.const 50 call $___cxa_throw else local.get $2 @@ -34734,14 +34753,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 56 + i32.const 55 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 56 + i32.const 55 i32.store offset=4 local.get $2 local.get $0 @@ -34790,14 +34809,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 56 + i32.const 55 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 56 + i32.const 55 i32.store offset=4 local.get $2 local.get $0 @@ -45076,7 +45095,7 @@ i32.const 16080 i32.const 0 i32.store - i32.const 62 + i32.const 61 i32.const 16072 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ end ;; $if_5 @@ -57379,7 +57398,7 @@ end ;; $block_0 local.get $0 local.get $2 - i32.const 199 + i32.const 200 call_indirect $26 (type $3) end ;; $block end ;; $if @@ -65423,7 +65442,7 @@ i32.const 1 i32.store local.get $0 - i32.const 172 + i32.const 171 call_indirect $26 (type $0) i32.const 16152 i32.const -1 diff --git a/test/extensions/filters/http/wasm/test_data/queue_cpp.cc b/test/extensions/filters/http/wasm/test_data/queue_cpp.cc index 0f4fd15434b5..5d03f29de87f 100644 --- a/test/extensions/filters/http/wasm/test_data/queue_cpp.cc +++ b/test/extensions/filters/http/wasm/test_data/queue_cpp.cc @@ -15,7 +15,7 @@ class ExampleRootContext : public RootContext { public: explicit ExampleRootContext(uint32_t id, StringView root_id) : RootContext(id, root_id) {} - void onStart() override; + void onStart(WasmDataPtr) override; void onQueueReady(uint32_t token) override; }; @@ -28,7 +28,7 @@ FilterHeadersStatus ExampleContext::onRequestHeaders() { return FilterHeadersStatus::Continue; } -void ExampleRootContext::onStart() { +void ExampleRootContext::onStart(WasmDataPtr) { registerSharedQueue("my_shared_queue"); } diff --git a/test/extensions/filters/http/wasm/test_data/queue_cpp.wasm b/test/extensions/filters/http/wasm/test_data/queue_cpp.wasm index 5642ff2aa85b..728129500401 100644 Binary files a/test/extensions/filters/http/wasm/test_data/queue_cpp.wasm and b/test/extensions/filters/http/wasm/test_data/queue_cpp.wasm differ diff --git a/test/extensions/filters/http/wasm/test_data/queue_cpp.wat b/test/extensions/filters/http/wasm/test_data/queue_cpp.wat index 3d5edb967ef1..ac83999f683f 100644 --- a/test/extensions/filters/http/wasm/test_data/queue_cpp.wat +++ b/test/extensions/filters/http/wasm/test_data/queue_cpp.wat @@ -124,17 +124,17 @@ $b3 $b3 $b4 $__ZNK6google8protobuf2io17ArrayOutputStream9ByteCountEv $__ZNK6google8protobuf2io18StringOutputStream9ByteCountEv $b4 $b5 $___stdio_seek $b6 $__ZN30protobuf_struct_5flite_2eprotoL21InitDefaultsListValueEv $__ZL25default_terminate_handlerv $__ZN6google8protobuf8internal20InitLogSilencerCountEv $__ZN6google8protobuf8internal22DeleteLogSilencerCountEv $__ZN10__cxxabiv112_GLOBAL__N_110construct_Ev $b6 $b6 $b7 $__ZN11ContextBaseD2Ev $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN11RootContextD2Ev - $__ZN18ExampleRootContextD0Ev $__ZN18ExampleRootContext7onStartEv $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN18ExampleRootContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev - $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev - $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv $__ZN6google8protobuf5ValueD2Ev $__ZN6google8protobuf5ValueD0Ev $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev - $__ZN6google8protobuf6StructD2Ev $__ZN6google8protobuf6StructD0Ev $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN14ExampleContextD0Ev $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv - $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv - $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv - $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 - $b8 $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN18ExampleRootContext12onQueueReadyEj $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE - $__ZNKSt3__210__function6__funcI3__1NS_9allocatorIS2_EEFNS_10unique_ptrI11RootContextNS_14default_deleteIS6_EEEEjNS_17basic_string_viewIcNS_11char_traitsIcEEEEEE7__cloneEPNS0_6__baseISE_EE $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf5Value11GetTypeNameEv $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE - $__ZNK6google8protobuf9ListValue11GetTypeNameEv $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi - $_pop_arg_long_double $b8 $b8 $b8 $b8 $b8 $b8 $b8 + $__ZN18ExampleRootContextD0Ev $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN18ExampleRootContextD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev + $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv $__ZN6google8protobuf5ValueD2Ev + $__ZN6google8protobuf5ValueD0Ev $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf6StructD2Ev $__ZN6google8protobuf6StructD0Ev + $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN14ExampleContextD0Ev $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev + $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev + $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv + $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 + $b8 $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN18ExampleRootContext7onStartENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN18ExampleRootContext12onQueueReadyEj $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE + $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE $__ZNKSt3__210__function6__funcI3__1NS_9allocatorIS2_EEFNS_10unique_ptrI11RootContextNS_14default_deleteIS6_EEEEjNS_17basic_string_viewIcNS_11char_traitsIcEEEEEE7__cloneEPNS0_6__baseISE_EE $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf5Value11GetTypeNameEv + $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf9ListValue11GetTypeNameEv $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE + $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double $b8 $b8 $b8 $b8 $b8 $b9 $__ZN11RootContext13onGrpcReceiveEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $b10 $__ZN11RootContext11onGrpcCloseEj10GrpcStatusNSt3__210unique_ptrI8WasmDataNS1_14default_deleteIS3_EEEE $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEEclEOjOSB_ $__ZNSt3__210__function6__funcI3__1NS_9allocatorIS2_EEFNS_10unique_ptrI11RootContextNS_14default_deleteIS6_EEEEjNS_17basic_string_viewIcNS_11char_traitsIcEEEEEEclEOjOSD_ $__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $b10 $b11 $__ZN11RootContext18onHttpCallResponseEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEES5_S5_ $__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $b11 $b11 $b11 $b12 $__ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $__ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib $b13) @@ -248,33 +248,33 @@ "\f0\1a\00\00\846\00\00 \15\00\00\00\00\00\00\f0\1a\00\00\ca6\00\00\d8\14\00\00\00\00\00\00@\1b\00\00\f26\00\00@\1b\00\00\f46\00\00\f0\1a\00\00\f66\00\00\c8\14") (data $64 $27 (i32.const 5492) "\88\11\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\01\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00" - "\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\a8\11\00\00\07\00\00\00\08\00\00\00\09\00\00\00\n\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\09\00\00\00\n\00\00\00\02\00\00\00\01\00\00\00" - "\03\00\00\00\04\00\00\00\05\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00p\11\00\00\01\00\00\00\0b\00\00\00\0b\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\98\11\00\00\07\00\00\00" - "\0c\00\00\00\09\00\00\00\n\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\0d\00\00\00\n\00\00\00\06\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00" - "\c0\11\00\00\0e\00\00\00\0f\00\00\00\0d\00\00\00\07\00\00\00\10\00\00\00\11\00\00\00\02\00\00\00\03\00\00\00\0e\00\00\00\00\00\00\00\e0\11\00\00\12\00\00\00\13\00\00\00\0f\00\00\00\08\00\00\00" - "\14\00\00\00\15\00\00\00\03\00\00\00\04\00\00\00\10\00\00\00\ff\ff\ff\ff\00\00\00\00\01") + "\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\a8\11\00\00\07\00\00\00\08\00\00\00\09\00\00\00\n\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\09\00\00\00\03\00\00\00\01\00\00\00" + "\04\00\00\00\05\00\00\00\06\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00p\11\00\00\01\00\00\00\n\00\00\00\0b\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\98\11\00\00\07\00\00\00" + "\0b\00\00\00\09\00\00\00\n\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\07\00\00\00\09\00\00\00\08\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00" + "\c0\11\00\00\0c\00\00\00\0d\00\00\00\0d\00\00\00\09\00\00\00\0e\00\00\00\0f\00\00\00\02\00\00\00\03\00\00\00\0e\00\00\00\00\00\00\00\e0\11\00\00\10\00\00\00\11\00\00\00\0f\00\00\00\n\00\00\00" + "\12\00\00\00\13\00\00\00\03\00\00\00\04\00\00\00\10\00\00\00\ff\ff\ff\ff\00\00\00\00\01") (data $65 $27 (i32.const 5852) - "@\12\00\00\16\00\00\00\17\00\00\00\09\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\18\00\00\00\14\00\00\00\n\00\00\00\0b\00\00\00\06\00\00\00\15\00\00\00\0c\00\00\00\07\00\00\00" - "\16\00\00\00\03\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\00\00\00\00\a0\12\00\00\19\00\00\00\1a\00\00\00\0d\00\00\00\1a\00\00\00\08\00\00\00\1b\00\00\00\1c\00\00\00\1b\00\00\00\1d\00\00\00" - "\n\00\00\00\0e\00\00\00\09\00\00\00\1e\00\00\00\0f\00\00\00\07\00\00\00\1f\00\00\00\04\00\00\00\17\00\00\00\00\00\00\00 \12\00\00\1c\00\00\00\1d\00\00\00\10\00\00\00 \00\00\00\n\00\00\00" - "!\00\00\00\"\00\00\00\1e\00\00\00#\00\00\00\n\00\00\00\11\00\00\00\0b\00\00\00$\00\00\00\12\00\00\00\07\00\00\00%\00\00\00\04\00\00\00\17\00\00\00\00\00\00\000\12\00\00\16\00\00\00" - "\1f\00\00\00\09\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\18\00\00\00\14\00\00\00\n\00\00\00\0b\00\00\00\06\00\00\00\15\00\00\00\0c\00\00\00\07\00\00\00\16\00\00\00\03\00\00\00" - "\17\00\00\00&\00\00\00'\00\00\00\00\00\00\00p\12\00\00 \00\00\00!\00\00\00\13\00\00\00(\00\00\00\0c\00\00\00)\00\00\00*\00\00\00\"\00\00\00+\00\00\00\n\00\00\00\14\00\00\00" - "\0d\00\00\00,\00\00\00\15\00\00\00\07\00\00\00-\00\00\00\04\00\00\00\17\00\00\00\00\00\00\00`\12\00\00\16\00\00\00#\00\00\00\09\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00" - "\18\00\00\00\14\00\00\00\n\00\00\00\0b\00\00\00\06\00\00\00\15\00\00\00\0c\00\00\00\07\00\00\00\16\00\00\00\03\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\00\00\00\00x\11\00\00\01\00\00\00" - "$\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00.\00\00\00\04\00\00\00\01\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00" - "\06\00\00\00\00\00\00\00\b0\12\00\00%\00\00\00&\00\00\00/\00\00\00\00\00\00\00\d8\12\00\00'\00\00\00(\00\00\00\05\00\00\00\16\00\00\00\01\00\00\00\06\00\00\000\00\00\00\00\00\00\00" - "\e8\12\00\00'\00\00\00)\00\00\00\07\00\00\00\17\00\00\00\02\00\00\00\06\00\00\000") + "@\12\00\00\14\00\00\00\15\00\00\00\0b\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\16\00\00\00\14\00\00\00\0c\00\00\00\0d\00\00\00\06\00\00\00\15\00\00\00\0e\00\00\00\07\00\00\00" + "\16\00\00\00\03\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\00\00\00\00\a0\12\00\00\17\00\00\00\18\00\00\00\0f\00\00\00\1a\00\00\00\08\00\00\00\1b\00\00\00\1c\00\00\00\19\00\00\00\1d\00\00\00" + "\0c\00\00\00\10\00\00\00\09\00\00\00\1e\00\00\00\11\00\00\00\07\00\00\00\1f\00\00\00\04\00\00\00\17\00\00\00\00\00\00\00 \12\00\00\1a\00\00\00\1b\00\00\00\12\00\00\00 \00\00\00\n\00\00\00" + "!\00\00\00\"\00\00\00\1c\00\00\00#\00\00\00\0c\00\00\00\13\00\00\00\0b\00\00\00$\00\00\00\14\00\00\00\07\00\00\00%\00\00\00\04\00\00\00\17\00\00\00\00\00\00\000\12\00\00\14\00\00\00" + "\1d\00\00\00\0b\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00\16\00\00\00\14\00\00\00\0c\00\00\00\0d\00\00\00\06\00\00\00\15\00\00\00\0e\00\00\00\07\00\00\00\16\00\00\00\03\00\00\00" + "\17\00\00\00&\00\00\00'\00\00\00\00\00\00\00p\12\00\00\1e\00\00\00\1f\00\00\00\15\00\00\00(\00\00\00\0c\00\00\00)\00\00\00*\00\00\00 \00\00\00+\00\00\00\0c\00\00\00\16\00\00\00" + "\0d\00\00\00,\00\00\00\17\00\00\00\07\00\00\00-\00\00\00\04\00\00\00\17\00\00\00\00\00\00\00`\12\00\00\14\00\00\00!\00\00\00\0b\00\00\00\11\00\00\00\05\00\00\00\12\00\00\00\13\00\00\00" + "\16\00\00\00\14\00\00\00\0c\00\00\00\0d\00\00\00\06\00\00\00\15\00\00\00\0e\00\00\00\07\00\00\00\16\00\00\00\03\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\00\00\00\00x\11\00\00\01\00\00\00" + "\"\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00.\00\00\00\04\00\00\00\01\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00" + "\06\00\00\00\00\00\00\00\b0\12\00\00#\00\00\00$\00\00\00/\00\00\00\00\00\00\00\d8\12\00\00%\00\00\00&\00\00\00\05\00\00\00\18\00\00\00\01\00\00\00\06\00\00\000\00\00\00\00\00\00\00" + "\e8\12\00\00%\00\00\00'\00\00\00\07\00\00\00\19\00\00\00\02\00\00\00\06\00\00\000") (data $66 $27 (i32.const 6529) "\01\00\00\00\09\00\00\00\00\00\00\08\00\00\00\01\00\00\00 \00\00\00\00\10\04\00\00\0c?\00\00\11?\00\00\10\0d\00\00\00\13\00\00\90\13") (data $67 $27 (i32.const 6768) "\9c<") (data $68 $27 (i32.const 6828) - "\b0\14\00\00*\00\00\00+\00\00\002\00\00\00\02\00\00\00\00\00\00\00\c8\14\00\00,\00\00\00-\00\00\00.\00\00\00/\00\00\00\0b\00\00\00\01\00\00\00\02\00\00\00\04\00\00\00\00\00\00\00" - "\f0\14\00\00,\00\00\000\00\00\00.\00\00\00/\00\00\00\0b\00\00\00\02\00\00\00\03\00\00\00\05") + "\b0\14\00\00(\00\00\00)\00\00\002\00\00\00\02\00\00\00\00\00\00\00\c8\14\00\00*\00\00\00+\00\00\00,\00\00\00-\00\00\00\0b\00\00\00\01\00\00\00\02\00\00\00\04\00\00\00\00\00\00\00" + "\f0\14\00\00*\00\00\00.\00\00\00,\00\00\00-\00\00\00\0b\00\00\00\02\00\00\00\03\00\00\00\05") (data $69 $27 (i32.const 6933) - "\15\00\001\00\00\002\00\00\003\00\00\00\00\00\00\00\10\15\00\001\00\00\003\00\00\003\00\00\00\00\00\00\00@\15\00\00,\00\00\004\00\00\00.\00\00\00/\00\00\00\0c\00\00\00\00" - "\00\00\00`\15\00\00,\00\00\005\00\00\00.\00\00\00/\00\00\00\0b\00\00\00\03\00\00\00\04\00\00\00\06\00\00\00vm_id\00my_shared_queue\00dat" + "\15\00\00/\00\00\000\00\00\003\00\00\00\00\00\00\00\10\15\00\00/\00\00\001\00\00\003\00\00\00\00\00\00\00@\15\00\00*\00\00\002\00\00\00,\00\00\00-\00\00\00\0c\00\00\00\00" + "\00\00\00`\15\00\00*\00\00\003\00\00\00,\00\00\00-\00\00\00\0b\00\00\00\03\00\00\00\04\00\00\00\06\00\00\00vm_id\00my_shared_queue\00dat" "a1\00onRequestHeaders \00onQueueReady\00data \00 \0014ExampleContext\007Cont" "ext\0011ContextBase\0018ExampleRootContext\0011RootContext\00NSt3__210__" "function6__funcI3$_0NS_9allocatorIS2_EEFNS_10unique_ptrI7Context" @@ -540,8 +540,9 @@ i32.const 0 ) - (func $__ZN18ExampleRootContext7onStartEv (type $0) + (func $__ZN18ExampleRootContext7onStartENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE (type $3) (param $0 i32) + (param $1 i32) i32.const 7042 i32.const 15 call $_proxy_registerSharedQueue @@ -1484,7 +1485,7 @@ i32.store local.get $1 i32.const 5296 - i32.const 42 + i32.const 40 call $___cxa_throw end ;; $if_8 local.get $0 @@ -2337,7 +2338,7 @@ i32.store local.get $1 i32.const 5296 - i32.const 42 + i32.const 40 call $___cxa_throw end ;; $if_10 local.get $0 @@ -2916,7 +2917,7 @@ i32.store local.get $1 i32.const 5296 - i32.const 42 + i32.const 40 call $___cxa_throw end ;; $if_10 local.get $0 @@ -4715,7 +4716,7 @@ end ;; $if_1 local.get $2 i32.const 16 - i32.const 54 + i32.const 52 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i64.const 0 @@ -4815,7 +4816,7 @@ end ;; $if_1 local.get $1 i32.const 16 - i32.const 55 + i32.const 53 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 local.get $2 @@ -4854,7 +4855,7 @@ i32.store i32.const 15176 call $__ZN6google8protobuf6StructC2Ev - i32.const 56 + i32.const 54 i32.const 15176 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15208 @@ -4874,12 +4875,12 @@ i32.const 15228 i32.const 0 i32.store - i32.const 56 + i32.const 54 i32.const 15208 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15264 call $__ZN6google8protobuf9ListValueC2Ev - i32.const 56 + i32.const 54 i32.const 15264 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 15160 @@ -15952,7 +15953,7 @@ end ;; $if_0 local.get $1 i32.const 24 - i32.const 57 + i32.const 55 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i32.const 0 @@ -21096,7 +21097,7 @@ i32.store local.get $1 i32.const 5296 - i32.const 42 + i32.const 40 call $___cxa_throw end ;; $if_8 local.get $5 @@ -21845,12 +21846,12 @@ call_indirect $26 (type $4) ) - (func $_proxy_onStart (type $2) + (func $_proxy_onStart (type $7) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -21859,229 +21860,226 @@ (local $10 i32) (local $11 i32) (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) global.get $30 - local.set $8 + local.set $7 global.get $30 i32.const 32 i32.add global.set $30 - local.get $8 - i32.const 24 + local.get $7 + i32.const 28 i32.add local.set $9 - local.get $8 - i32.const 12 + local.get $7 + i32.const 16 i32.add - local.set $3 - local.get $8 + local.set $6 + local.get $7 i32.const 8 i32.add - local.set $10 + local.set $11 + local.get $7 + i32.const 12 + i32.add + local.set $12 i32.const 8 call $__Znwm - local.tee $7 + local.tee $8 local.get $1 i32.store - local.get $7 + local.get $8 local.get $2 i32.store offset=4 + local.get $1 + local.set $13 block $block - i32.const 15340 - i32.load - local.tee $4 - if $if + block $block_0 + i32.const 15340 + i32.load + local.tee $5 + i32.eqz + br_if $block_0 i32.const 15336 i32.load - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const -1 i32.add - local.tee $6 + local.tee $10 i32.and i32.eqz - local.tee $11 - if $if_0 (result i32) + local.tee $14 + if $if (result i32) local.get $0 - local.get $6 + local.get $10 i32.and else - local.get $4 + local.get $5 local.get $0 i32.gt_u - if $if_1 (result i32) + if $if_0 (result i32) local.get $0 else - local.get $4 - if $if_2 (result i32) + local.get $5 + if $if_1 (result i32) local.get $0 - local.get $4 + local.get $5 i32.rem_u else i32.const 0 - end ;; $if_2 - end ;; $if_1 - end ;; $if_0 - local.tee $12 + end ;; $if_1 + end ;; $if_0 + end ;; $if + local.tee $15 i32.const 2 i32.shl i32.add i32.load - local.tee $5 - if $if_3 - local.get $5 - i32.load - local.tee $5 - if $if_4 - block $block_0 - block $block_1 - local.get $11 - if $if_5 - loop $loop - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $4 - i32.eq - local.tee $11 - local.get $4 - local.get $6 - i32.and - local.get $12 - i32.eq - i32.or - i32.eqz - br_if $block_0 - local.get $11 - if $if_6 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - end ;; $if_6 - local.get $5 - i32.load - local.tee $5 - br_if $loop - br $block_0 - unreachable - end ;; $loop - unreachable - else - loop $loop_0 - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $6 - i32.eq - if $if_7 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - else - local.get $6 - local.get $4 - i32.ge_u - if $if_8 (result i32) - local.get $4 - if $if_9 (result i32) - local.get $6 - local.get $4 - i32.rem_u - else - i32.const 0 - end ;; $if_9 - else - local.get $6 - end ;; $if_8 - local.get $12 - i32.ne - br_if $block_0 - end ;; $if_7 - local.get $5 - i32.load - local.tee $5 - br_if $loop_0 - br $block_0 - unreachable - end ;; $loop_0 - unreachable - end ;; $if_5 - unreachable - end ;; $block_1 - local.get $5 - i32.load offset=12 - local.tee $0 - i32.load - i32.load offset=8 - local.set $1 + local.tee $1 + i32.eqz + br_if $block_0 + local.get $1 + i32.load + local.tee $1 + i32.eqz + br_if $block_0 + block $block_1 + local.get $14 + if $if_2 + loop $loop local.get $0 local.get $1 - i32.const 63 + i32.load offset=4 + local.tee $5 + i32.eq + local.tee $14 + local.get $5 + local.get $10 i32.and - call_indirect $26 (type $4) - local.tee $0 + local.get $15 + i32.eq + i32.or + i32.eqz + br_if $block_0 + local.get $14 + if $if_3 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + end ;; $if_3 + local.get $1 i32.load - i32.load offset=28 - local.set $1 + local.tee $1 + br_if $loop + br $block_0 + unreachable + end ;; $loop + unreachable + else + loop $loop_0 local.get $0 local.get $1 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) - br $block - end ;; $block_0 - end ;; $if_4 - end ;; $if_3 - end ;; $if - local.get $1 - local.set $4 + i32.load offset=4 + local.tee $10 + i32.eq + if $if_4 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + else + local.get $10 + local.get $5 + i32.ge_u + if $if_5 (result i32) + local.get $5 + if $if_6 (result i32) + local.get $10 + local.get $5 + i32.rem_u + else + i32.const 0 + end ;; $if_6 + else + local.get $10 + end ;; $if_5 + local.get $15 + i32.ne + br_if $block_0 + end ;; $if_4 + local.get $1 + i32.load + local.tee $1 + br_if $loop_0 + br $block_0 + unreachable + end ;; $loop_0 + unreachable + end ;; $if_2 + unreachable + end ;; $block_1 + local.get $1 + i32.load offset=12 + local.tee $0 + i32.load + i32.load offset=8 + local.set $1 + local.get $0 + local.get $1 + i32.const 63 + i32.and + call_indirect $26 (type $4) + local.set $0 + br $block + end ;; $block_0 i32.const 15376 i32.load i32.eqz - if $if_10 + if $if_7 i32.const 160 call $__Znwm - local.tee $3 + local.tee $5 i64.const 0 i64.store offset=4 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=12 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=20 - local.get $3 + local.get $5 i64.const 0 i64.store offset=24 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=32 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=40 - local.get $3 + local.get $5 i64.const 0 i64.store offset=44 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=52 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=60 - local.get $3 + local.get $5 i32.const -64 i32.sub local.get $0 i32.store - local.get $3 + local.get $5 i32.const 5680 i32.store - local.get $3 + local.get $5 i32.const 68 i32.add local.tee $1 @@ -22093,16 +22091,16 @@ local.get $2 i32.const -17 i32.gt_u - if $if_11 + if $if_8 call $_abort - end ;; $if_11 + end ;; $if_8 block $block_2 block $block_3 local.get $2 i32.const 11 i32.lt_u - if $if_12 - local.get $3 + if $if_9 + local.get $5 local.get $2 i32.store8 offset=79 local.get $2 @@ -22118,20 +22116,20 @@ call $__Znwm local.tee $1 i32.store - local.get $3 + local.get $5 local.get $6 i32.const -2147483648 i32.or i32.store offset=76 - local.get $3 + local.get $5 local.get $2 i32.store offset=72 br $block_3 - end ;; $if_12 + end ;; $if_9 br $block_2 end ;; $block_3 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -22141,40 +22139,40 @@ i32.add i32.const 0 i32.store8 - local.get $3 + local.get $5 i64.const 0 i64.store offset=80 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=88 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=96 - local.get $3 + local.get $5 i64.const 0 i64.store offset=100 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=108 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=116 - local.get $3 + local.get $5 i64.const 0 i64.store offset=120 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=128 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=136 - local.get $3 + local.get $5 i64.const 0 i64.store offset=140 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=148 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=156 local.get $9 @@ -22186,10 +22184,10 @@ i32.load local.set $0 local.get $1 - local.get $3 + local.get $5 i32.store local.get $0 - if $if_13 + if $if_10 local.get $0 local.get $0 i32.load @@ -22199,73 +22197,66 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_13 - local.get $3 - local.get $3 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) + end ;; $if_10 + local.get $5 + local.set $0 br $block - end ;; $if_10 - local.get $3 + end ;; $if_7 + local.get $6 i64.const 0 i64.store align=4 - local.get $3 + local.get $6 i32.const 0 i32.store offset=8 local.get $2 i32.const -17 i32.gt_u - if $if_14 + if $if_11 call $_abort - end ;; $if_14 + end ;; $if_11 block $block_4 block $block_5 local.get $2 i32.const 11 i32.lt_u - if $if_15 (result i32) - local.get $3 + if $if_12 (result i32) + local.get $6 local.get $2 i32.store8 offset=11 local.get $2 - if $if_16 (result i32) - local.get $3 + if $if_13 (result i32) + local.get $6 local.set $1 br $block_5 else - local.get $3 - end ;; $if_16 + local.get $6 + end ;; $if_13 else - local.get $3 + local.get $6 local.get $2 i32.const 16 i32.add i32.const -16 i32.and - local.tee $6 + local.tee $5 call $__Znwm local.tee $1 i32.store - local.get $3 local.get $6 + local.get $5 i32.const -2147483648 i32.or i32.store offset=8 - local.get $3 + local.get $6 local.get $2 i32.store offset=4 br $block_5 - end ;; $if_15 + end ;; $if_12 local.set $1 br $block_4 end ;; $block_5 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -22277,18 +22268,18 @@ i32.store8 i32.const 15376 i32.load - local.get $3 + local.get $6 call $__ZNSt3__212__hash_tableINS_17__hash_value_typeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_8functionIFNS_10unique_ptrI11RootContextNS_14default_deleteISA_EEEEjNS_17basic_string_viewIcS4_EEEEEEENS_22__unordered_map_hasherIS7_SI_NS_4hashIS7_EELb1EEENS_21__unordered_map_equalIS7_SI_NS_8equal_toIS7_EELb1EEENS5_ISI_EEE4findIS7_EENS_15__hash_iteratorIPNS_11__hash_nodeISI_PvEEEERKT_ local.tee $1 - if $if_17 (result i32) - local.get $7 + if $if_14 (result i32) + local.get $8 i32.load offset=4 local.set $2 - local.get $8 local.get $7 + local.get $8 i32.load i32.store - local.get $8 + local.get $7 local.get $2 i32.store offset=4 local.get $9 @@ -22298,7 +22289,7 @@ i32.load offset=40 local.tee $1 i32.eqz - if $if_18 + if $if_15 i32.const 4 call $___cxa_allocate_exception local.tee $2 @@ -22306,13 +22297,13 @@ i32.store local.get $2 i32.const 5296 - i32.const 42 + i32.const 40 call $___cxa_throw - end ;; $if_18 - local.get $10 + end ;; $if_15 + local.get $11 local.get $1 local.get $9 - local.get $8 + local.get $7 local.get $1 i32.load i32.load offset=24 @@ -22321,7 +22312,7 @@ i32.const 210 i32.add call_indirect $26 (type $1) - local.get $10 + local.get $11 i32.load local.tee $1 i32.load @@ -22333,7 +22324,7 @@ i32.and call_indirect $26 (type $4) local.set $1 - local.get $3 + local.get $6 call $__ZNSt3__213unordered_mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEP11RootContextNS_4hashIS6_EENS_8equal_toIS6_EENS4_INS_4pairIKS6_S8_EEEEEixERSE_ local.get $1 i32.store @@ -22343,20 +22334,20 @@ local.get $9 call $__ZNSt3__213unordered_mapIiNS_10unique_ptrI11ContextBaseNS_14default_deleteIS2_EEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEEixEOi local.set $2 - local.get $10 + local.get $11 i32.load - local.set $4 - local.get $10 + local.set $5 + local.get $11 i32.const 0 i32.store local.get $2 i32.load local.set $0 local.get $2 - local.get $4 + local.get $5 i32.store local.get $0 - if $if_19 + if $if_16 local.get $0 local.get $0 i32.load @@ -22366,15 +22357,15 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_19 - local.get $10 + end ;; $if_16 + local.get $11 i32.load local.set $0 - local.get $10 + local.get $11 i32.const 0 i32.store local.get $0 - if $if_20 + if $if_17 local.get $0 local.get $0 i32.load @@ -22384,15 +22375,15 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_20 + end ;; $if_17 local.get $1 else - local.get $7 + local.get $8 i32.load - local.set $6 - local.get $7 + local.set $10 + local.get $8 i32.load offset=4 - local.set $4 + local.set $5 i32.const 160 call $__Znwm local.tee $2 @@ -22439,54 +22430,54 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $4 + local.get $5 i32.const -17 i32.gt_u - if $if_21 + if $if_18 call $_abort - end ;; $if_21 + end ;; $if_18 block $block_6 block $block_7 - local.get $4 + local.get $5 i32.const 11 i32.lt_u - if $if_22 + if $if_19 local.get $2 - local.get $4 + local.get $5 i32.store8 offset=79 - local.get $4 + local.get $5 br_if $block_7 else local.get $1 - local.get $4 + local.get $5 i32.const 16 i32.add i32.const -16 i32.and - local.tee $5 + local.tee $13 call $__Znwm local.tee $1 i32.store local.get $2 - local.get $5 + local.get $13 i32.const -2147483648 i32.or i32.store offset=76 local.get $2 - local.get $4 + local.get $5 i32.store offset=72 br $block_7 - end ;; $if_22 + end ;; $if_19 br $block_6 end ;; $block_7 local.get $1 - local.get $6 - local.get $4 + local.get $10 + local.get $5 call $_memcpy drop end ;; $block_6 local.get $1 - local.get $4 + local.get $5 i32.add i32.const 0 i32.store8 @@ -22538,7 +22529,7 @@ local.get $2 i32.store local.get $0 - if $if_23 + if $if_20 local.get $0 local.get $0 i32.load @@ -22548,43 +22539,72 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_23 + end ;; $if_20 local.get $2 - end ;; $if_17 + end ;; $if_14 local.set $0 - local.get $3 + local.get $6 i32.load8_s offset=11 i32.const 0 i32.lt_s - if $if_24 - local.get $3 + if $if_21 + local.get $6 i32.load call $_free - end ;; $if_24 - local.get $0 - local.get $0 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) - local.get $7 + end ;; $if_21 + end ;; $block + local.get $0 + i32.load + i32.load offset=28 + local.set $2 + i32.const 8 + call $__Znwm + local.tee $1 + local.get $3 + i32.store + local.get $1 + local.get $4 + i32.store offset=4 + local.get $12 + local.get $1 + i32.store + local.get $0 + local.get $12 + local.get $2 + i32.const 31 + i32.and + i32.const 176 + i32.add + call_indirect $26 (type $3) + local.get $12 + i32.load + local.set $0 + local.get $12 + i32.const 0 + i32.store + local.get $0 + i32.eqz + if $if_22 + local.get $8 i32.load call $_free - local.get $7 - call $_free local.get $8 + call $_free + local.get $7 global.set $30 return - end ;; $block - local.get $7 + end ;; $if_22 + local.get $0 i32.load call $_free - local.get $7 + local.get $0 + call $_free + local.get $8 + i32.load call $_free local.get $8 + call $_free + local.get $7 global.set $30 ) @@ -24411,7 +24431,7 @@ i32.store local.get $1 i32.const 5392 - i32.const 49 + i32.const 47 call $___cxa_throw end ;; $if_1 local.get $0 @@ -24958,7 +24978,7 @@ i32.store local.get $1 i32.const 5392 - i32.const 49 + i32.const 47 call $___cxa_throw end ;; $if_1 local.get $0 @@ -27621,7 +27641,7 @@ i32.store local.get $2 i32.const 5392 - i32.const 49 + i32.const 47 call $___cxa_throw end ;; $if_1 local.get $1 @@ -28158,7 +28178,7 @@ call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_ local.get $2 i32.const 4784 - i32.const 37 + i32.const 35 call $___cxa_throw else local.get $1 @@ -28185,7 +28205,7 @@ i32.const 15388 local.get $0 i32.store - i32.const 59 + i32.const 57 i32.const 4 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -28438,7 +28458,7 @@ i32.store local.get $3 i32.const 5392 - i32.const 49 + i32.const 47 call $___cxa_throw else local.get $2 @@ -29579,14 +29599,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 55 + i32.const 53 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 55 + i32.const 53 i32.store offset=4 local.get $2 local.get $0 @@ -29635,14 +29655,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 55 + i32.const 53 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 55 + i32.const 53 i32.store offset=4 local.get $2 local.get $0 @@ -39921,7 +39941,7 @@ i32.const 15312 i32.const 0 i32.store - i32.const 60 + i32.const 58 i32.const 15304 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ end ;; $if_5 @@ -51584,7 +51604,7 @@ end ;; $block_0 local.get $0 local.get $2 - i32.const 200 + i32.const 202 call_indirect $26 (type $3) end ;; $block end ;; $if @@ -59628,7 +59648,7 @@ i32.const 1 i32.store local.get $0 - i32.const 170 + i32.const 168 call_indirect $26 (type $0) i32.const 15384 i32.const -1 diff --git a/test/extensions/filters/http/wasm/test_data/shared_cpp.wasm b/test/extensions/filters/http/wasm/test_data/shared_cpp.wasm index 28cc581db33d..43319d30b182 100644 Binary files a/test/extensions/filters/http/wasm/test_data/shared_cpp.wasm and b/test/extensions/filters/http/wasm/test_data/shared_cpp.wasm differ diff --git a/test/extensions/filters/http/wasm/test_data/shared_cpp.wat b/test/extensions/filters/http/wasm/test_data/shared_cpp.wat index 636b63a0f314..0af80ddb4e2e 100644 --- a/test/extensions/filters/http/wasm/test_data/shared_cpp.wat +++ b/test/extensions/filters/http/wasm/test_data/shared_cpp.wat @@ -124,14 +124,14 @@ $b7 $__ZN11ContextBaseD2Ev $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN14ExampleContext5onLogEv $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EED2Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE5ClearEv $__ZN6google8protobuf5ValueD2Ev $__ZN6google8protobuf5ValueD0Ev $__ZN6google8protobuf5Value5ClearEv $__ZN6google8protobuf9ListValueD2Ev $__ZN6google8protobuf9ListValueD0Ev $__ZN6google8protobuf9ListValue5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN6google8protobuf6StructD2Ev $__ZN6google8protobuf6StructD0Ev - $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN11RootContextD2Ev $__ZN11RootContextD0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv - $__ZN6google8protobuf14FatalExceptionD2Ev $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv - $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev - $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv - $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv $b7 $b7 $b7 $b7 $b7 $b7 $b7 + $__ZN6google8protobuf6Struct5ClearEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE15MapEntryWrapperD0Ev $__ZN11RootContextD2Ev $__ZN11RootContextD0Ev $__ZN7Context8onCreateEv $__ZN14ExampleContextD0Ev $__ZN7Context8onCreateEv $__ZN6google8protobuf14FatalExceptionD2Ev + $__ZN6google8protobuf14FatalExceptionD0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev + $__ZN7Context8onCreateEv $__ZN7Context8onCreateEv $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt11logic_errorD2Ev $__ZNSt11logic_errorD0Ev $__ZNSt11logic_errorD0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEED0Ev + $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN6google8protobuf8internal14DestroyMessageEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS0_3MapINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_5ValueEE8InnerMapEEEvPv $__ZNSt3__217__call_once_proxyINS_5tupleIJRPFvvEEEEEEvPv $__ZN6google8protobuf8internalL14RunZeroArgFuncEPKv $__ZN6google8protobuf8internal21arena_destruct_objectINS1_29InternalMetadataWithArenaBaseINSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS1_29InternalMetadataWithArenaLiteEE9ContainerEEEvPv $__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv + $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b7 $b8 $__ZNKSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEE7__cloneEPNS0_6__baseISC_EE $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE11GetTypeNameEv $__ZNK6google8protobuf11MessageLite25InitializationErrorStringEv $__ZN6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE21CheckTypeAndMergeFromERKS4_ $__ZNK6google8protobuf8internal12MapEntryImplINS0_27Struct_FieldsEntry_DoNotUseENS0_11MessageLiteENSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS0_5ValueELNS1_14WireFormatLite9FieldTypeE9ELSE_11ELi0EE24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf5Value11GetTypeNameEv $__ZN6google8protobuf5Value21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf5Value24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf9ListValue11GetTypeNameEv $__ZN6google8protobuf9ListValue21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf9ListValue24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZNK6google8protobuf6Struct11GetTypeNameEv $__ZN6google8protobuf6Struct21CheckTypeAndMergeFromERKNS0_11MessageLiteE $__ZNK6google8protobuf6Struct24SerializeWithCachedSizesEPNS0_2io17CodedOutputStreamE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE - $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double $b8 + $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext11onConfigureENSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $__ZN11RootContext27onGrpcCreateInitialMetadataEj $__ZN11RootContext28onGrpcReceiveInitialMetadataEj $__ZN11RootContext29onGrpcReceiveTrailingMetadataEj $__ZN6google8protobuf2io17ArrayOutputStream6BackUpEi $__ZN6google8protobuf2io18StringOutputStream6BackUpEi $_pop_arg_long_double $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b8 $b9 $__ZN11RootContext13onGrpcReceiveEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEE $b10 $__ZNSt3__210__function6__funcI3__0NS_9allocatorIS2_EEFNS_10unique_ptrI7ContextNS_14default_deleteIS6_EEEEjP11RootContextEEclEOjOSB_ $__ZN11RootContext11onGrpcCloseEj10GrpcStatusNSt3__210unique_ptrI8WasmDataNS1_14default_deleteIS3_EEEE $__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi $b10 $b10 $b11 $__ZN11RootContext18onHttpCallResponseEjNSt3__210unique_ptrI8WasmDataNS0_14default_deleteIS2_EEEES5_S5_ $__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib $b11 @@ -257,18 +257,18 @@ "\00\00\00\"\00\00\00#\00\00\00\00\00\00\000\12\00\00\16\00\00\00\17\00\00\00\0c\00\00\00$\00\00\00\0b\00\00\00%\00\00\00&\00\00\00\18\00\00\00'\00\00\00\03\00\00\00\0d\00\00\00\0c" "\00\00\00(\00\00\00\0e\00\00\00\06\00\00\00)\00\00\00\04\00\00\00\13\00\00\00\00\00\00\00 \12\00\00\0c\00\00\00\19\00\00\00\02\00\00\00\0d\00\00\00\04\00\00\00\0e\00\00\00\0f\00\00\00\0e" "\00\00\00\10\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\11\00\00\00\05\00\00\00\06\00\00\00\12\00\00\00\03\00\00\00\13\00\00\00\14\00\00\00\15\00\00\00\00\00\00\00p\12\00\00\1a\00\00\00\1b" - "\00\00\00*\00\00\00+\00\00\00\01\00\00\00\02\00\00\00\0f\00\00\00\1c\00\00\00\1d\00\00\00\10\00\00\00\01\00\00\00\11\00\00\00\12\00\00\00\13\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00x" - "\11\00\00\01\00\00\00\1e\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00,\00\00\00\04\00\00\00\01\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\04" - "\00\00\00\1f\00\00\00\06\00\00\00\00\00\00\00\80\12\00\00 \00\00\00!\00\00\00-\00\00\00\00\00\00\00\a8\12\00\00\"\00\00\00#\00\00\00\05\00\00\00\14\00\00\00\01\00\00\00\06\00\00\00." - "\00\00\00\00\00\00\00\b8\12\00\00\"\00\00\00$\00\00\00\07\00\00\00\15\00\00\00\02\00\00\00\06\00\00\00.") + "\00\00\00*\00\00\00+\00\00\00\01\00\00\00\02\00\00\00\0f\00\00\00\10\00\00\00\1c\00\00\00\11\00\00\00\01\00\00\00\12\00\00\00\13\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00x" + "\11\00\00\01\00\00\00\1d\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00,\00\00\00\04\00\00\00\01\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\02\00\00\00\08\00\00\00\04" + "\00\00\00\1e\00\00\00\06\00\00\00\00\00\00\00\80\12\00\00\1f\00\00\00 \00\00\00-\00\00\00\00\00\00\00\a8\12\00\00!\00\00\00\"\00\00\00\05\00\00\00\15\00\00\00\01\00\00\00\06\00\00\00." + "\00\00\00\00\00\00\00\b8\12\00\00!\00\00\00#\00\00\00\07\00\00\00\16\00\00\00\02\00\00\00\06\00\00\00.") (data $66 $27 (i32.const 6365) "\01\00\00\00\09\00\00\00\00\00\00\08\00\00\00\01\00\00\00 \00\00\00\00\10\04\00\00\\=\00\00a=\00\00\10\0d\00\00\d0\12\00\00`\13") (data $67 $27 (i32.const 6604) "\ec:") (data $68 $27 (i32.const 6664) - "\80\14\00\00%\00\00\00&\00\00\000\00\00\00\02\00\00\00\00\00\00\00\98\14\00\00'\00\00\00(\00\00\00)\00\00\00*\00\00\00\0b\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00" - "\c0\14\00\00'\00\00\00+\00\00\00)\00\00\00*\00\00\00\0b\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\d0\14\00\00,\00\00\00-\00\00\001\00\00\00\00\00\00\00\e0\14\00\00" - ",\00\00\00.\00\00\001\00\00\00\00\00\00\00\10\15\00\00'\00\00\00/\00\00\00)\00\00\00*\00\00\00\0c\00\00\00\00\00\00\000\15\00\00'\00\00\000\00\00\00)\00\00\00*\00\00\00" + "\80\14\00\00$\00\00\00%\00\00\000\00\00\00\02\00\00\00\00\00\00\00\98\14\00\00&\00\00\00'\00\00\00(\00\00\00)\00\00\00\0b\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00" + "\c0\14\00\00&\00\00\00*\00\00\00(\00\00\00)\00\00\00\0b\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\d0\14\00\00+\00\00\00,\00\00\001\00\00\00\00\00\00\00\e0\14\00\00" + "+\00\00\00-\00\00\001\00\00\00\00\00\00\00\10\15\00\00&\00\00\00.\00\00\00(\00\00\00)\00\00\00\0c\00\00\00\00\00\00\000\15\00\00&\00\00\00/\00\00\00(\00\00\00)\00\00\00" "\0b\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00shared_data_key1\00shared_data_value1\00shared_data_" "key2\00shared_data_value2\00shared_data_value3\00set \00 \00get 1 \00get 2 \00" "14ExampleContext\007Context\0011ContextBase\00NSt3__210__function6__fu" @@ -1603,7 +1603,7 @@ end ;; $if_1 local.get $2 i32.const 16 - i32.const 49 + i32.const 48 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i64.const 0 @@ -1703,7 +1703,7 @@ end ;; $if_1 local.get $1 i32.const 16 - i32.const 50 + i32.const 49 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 local.get $2 @@ -1742,7 +1742,7 @@ i32.store i32.const 14744 call $__ZN6google8protobuf6StructC2Ev - i32.const 51 + i32.const 50 i32.const 14744 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 14776 @@ -1762,12 +1762,12 @@ i32.const 14796 i32.const 0 i32.store - i32.const 51 + i32.const 50 i32.const 14776 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 14832 call $__ZN6google8protobuf9ListValueC2Ev - i32.const 51 + i32.const 50 i32.const 14832 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ i32.const 14728 @@ -12840,7 +12840,7 @@ end ;; $if_0 local.get $1 i32.const 24 - i32.const 52 + i32.const 51 call $__ZN6google8protobuf8internal9ArenaImpl28AllocateAlignedAndAddCleanupEmPFvPvE local.tee $1 i32.const 0 @@ -17984,7 +17984,7 @@ i32.store local.get $1 i32.const 5248 - i32.const 37 + i32.const 36 call $___cxa_throw end ;; $if_8 local.get $5 @@ -18733,12 +18733,12 @@ call_indirect $26 (type $1) ) - (func $_proxy_onStart (type $6) + (func $_proxy_onStart (type $7) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -18747,229 +18747,226 @@ (local $10 i32) (local $11 i32) (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) global.get $30 - local.set $8 + local.set $7 global.get $30 i32.const 32 i32.add global.set $30 - local.get $8 - i32.const 24 + local.get $7 + i32.const 28 i32.add local.set $9 - local.get $8 - i32.const 12 + local.get $7 + i32.const 16 i32.add - local.set $3 - local.get $8 + local.set $6 + local.get $7 i32.const 8 i32.add - local.set $10 + local.set $11 + local.get $7 + i32.const 12 + i32.add + local.set $12 i32.const 8 call $__Znwm - local.tee $7 + local.tee $8 local.get $1 i32.store - local.get $7 + local.get $8 local.get $2 i32.store offset=4 + local.get $1 + local.set $13 block $block - i32.const 14908 - i32.load - local.tee $4 - if $if + block $block_0 + i32.const 14908 + i32.load + local.tee $5 + i32.eqz + br_if $block_0 i32.const 14904 i32.load - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const -1 i32.add - local.tee $6 + local.tee $10 i32.and i32.eqz - local.tee $11 - if $if_0 (result i32) + local.tee $14 + if $if (result i32) local.get $0 - local.get $6 + local.get $10 i32.and else - local.get $4 + local.get $5 local.get $0 i32.gt_u - if $if_1 (result i32) + if $if_0 (result i32) local.get $0 else - local.get $4 - if $if_2 (result i32) + local.get $5 + if $if_1 (result i32) local.get $0 - local.get $4 + local.get $5 i32.rem_u else i32.const 0 - end ;; $if_2 - end ;; $if_1 - end ;; $if_0 - local.tee $12 + end ;; $if_1 + end ;; $if_0 + end ;; $if + local.tee $15 i32.const 2 i32.shl i32.add i32.load - local.tee $5 - if $if_3 - local.get $5 - i32.load - local.tee $5 - if $if_4 - block $block_0 - block $block_1 - local.get $11 - if $if_5 - loop $loop - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $4 - i32.eq - local.tee $11 - local.get $4 - local.get $6 - i32.and - local.get $12 - i32.eq - i32.or - i32.eqz - br_if $block_0 - local.get $11 - if $if_6 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - end ;; $if_6 - local.get $5 - i32.load - local.tee $5 - br_if $loop - br $block_0 - unreachable - end ;; $loop - unreachable - else - loop $loop_0 - local.get $0 - local.get $5 - i32.load offset=4 - local.tee $6 - i32.eq - if $if_7 - local.get $0 - local.get $5 - i32.load offset=8 - i32.eq - br_if $block_1 - else - local.get $6 - local.get $4 - i32.ge_u - if $if_8 (result i32) - local.get $4 - if $if_9 (result i32) - local.get $6 - local.get $4 - i32.rem_u - else - i32.const 0 - end ;; $if_9 - else - local.get $6 - end ;; $if_8 - local.get $12 - i32.ne - br_if $block_0 - end ;; $if_7 - local.get $5 - i32.load - local.tee $5 - br_if $loop_0 - br $block_0 - unreachable - end ;; $loop_0 - unreachable - end ;; $if_5 - unreachable - end ;; $block_1 - local.get $5 - i32.load offset=12 - local.tee $0 - i32.load - i32.load offset=8 - local.set $1 + local.tee $1 + i32.eqz + br_if $block_0 + local.get $1 + i32.load + local.tee $1 + i32.eqz + br_if $block_0 + block $block_1 + local.get $14 + if $if_2 + loop $loop local.get $0 local.get $1 - i32.const 63 + i32.load offset=4 + local.tee $5 + i32.eq + local.tee $14 + local.get $5 + local.get $10 i32.and - call_indirect $26 (type $1) - local.tee $0 + local.get $15 + i32.eq + i32.or + i32.eqz + br_if $block_0 + local.get $14 + if $if_3 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + end ;; $if_3 + local.get $1 i32.load - i32.load offset=28 - local.set $1 + local.tee $1 + br_if $loop + br $block_0 + unreachable + end ;; $loop + unreachable + else + loop $loop_0 local.get $0 local.get $1 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) - br $block - end ;; $block_0 - end ;; $if_4 - end ;; $if_3 - end ;; $if - local.get $1 - local.set $4 + i32.load offset=4 + local.tee $10 + i32.eq + if $if_4 + local.get $0 + local.get $1 + i32.load offset=8 + i32.eq + br_if $block_1 + else + local.get $10 + local.get $5 + i32.ge_u + if $if_5 (result i32) + local.get $5 + if $if_6 (result i32) + local.get $10 + local.get $5 + i32.rem_u + else + i32.const 0 + end ;; $if_6 + else + local.get $10 + end ;; $if_5 + local.get $15 + i32.ne + br_if $block_0 + end ;; $if_4 + local.get $1 + i32.load + local.tee $1 + br_if $loop_0 + br $block_0 + unreachable + end ;; $loop_0 + unreachable + end ;; $if_2 + unreachable + end ;; $block_1 + local.get $1 + i32.load offset=12 + local.tee $0 + i32.load + i32.load offset=8 + local.set $1 + local.get $0 + local.get $1 + i32.const 63 + i32.and + call_indirect $26 (type $1) + local.set $0 + br $block + end ;; $block_0 i32.const 14944 i32.load i32.eqz - if $if_10 + if $if_7 i32.const 160 call $__Znwm - local.tee $3 + local.tee $5 i64.const 0 i64.store offset=4 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=12 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=20 - local.get $3 + local.get $5 i64.const 0 i64.store offset=24 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=32 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=40 - local.get $3 + local.get $5 i64.const 0 i64.store offset=44 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=52 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=60 - local.get $3 + local.get $5 i32.const -64 i32.sub local.get $0 i32.store - local.get $3 + local.get $5 i32.const 6124 i32.store - local.get $3 + local.get $5 i32.const 68 i32.add local.tee $1 @@ -18981,16 +18978,16 @@ local.get $2 i32.const -17 i32.gt_u - if $if_11 + if $if_8 call $_abort - end ;; $if_11 + end ;; $if_8 block $block_2 block $block_3 local.get $2 i32.const 11 i32.lt_u - if $if_12 - local.get $3 + if $if_9 + local.get $5 local.get $2 i32.store8 offset=79 local.get $2 @@ -19006,20 +19003,20 @@ call $__Znwm local.tee $1 i32.store - local.get $3 + local.get $5 local.get $6 i32.const -2147483648 i32.or i32.store offset=76 - local.get $3 + local.get $5 local.get $2 i32.store offset=72 br $block_3 - end ;; $if_12 + end ;; $if_9 br $block_2 end ;; $block_3 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -19029,40 +19026,40 @@ i32.add i32.const 0 i32.store8 - local.get $3 + local.get $5 i64.const 0 i64.store offset=80 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=88 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=96 - local.get $3 + local.get $5 i64.const 0 i64.store offset=100 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=108 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=116 - local.get $3 + local.get $5 i64.const 0 i64.store offset=120 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=128 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=136 - local.get $3 + local.get $5 i64.const 0 i64.store offset=140 align=4 - local.get $3 + local.get $5 i64.const 0 i64.store offset=148 align=4 - local.get $3 + local.get $5 i32.const 1065353216 i32.store offset=156 local.get $9 @@ -19074,10 +19071,10 @@ i32.load local.set $0 local.get $1 - local.get $3 + local.get $5 i32.store local.get $0 - if $if_13 + if $if_10 local.get $0 local.get $0 i32.load @@ -19087,73 +19084,66 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_13 - local.get $3 - local.get $3 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) + end ;; $if_10 + local.get $5 + local.set $0 br $block - end ;; $if_10 - local.get $3 + end ;; $if_7 + local.get $6 i64.const 0 i64.store align=4 - local.get $3 + local.get $6 i32.const 0 i32.store offset=8 local.get $2 i32.const -17 i32.gt_u - if $if_14 + if $if_11 call $_abort - end ;; $if_14 + end ;; $if_11 block $block_4 block $block_5 local.get $2 i32.const 11 i32.lt_u - if $if_15 (result i32) - local.get $3 + if $if_12 (result i32) + local.get $6 local.get $2 i32.store8 offset=11 local.get $2 - if $if_16 (result i32) - local.get $3 + if $if_13 (result i32) + local.get $6 local.set $1 br $block_5 else - local.get $3 - end ;; $if_16 + local.get $6 + end ;; $if_13 else - local.get $3 + local.get $6 local.get $2 i32.const 16 i32.add i32.const -16 i32.and - local.tee $6 + local.tee $5 call $__Znwm local.tee $1 i32.store - local.get $3 local.get $6 + local.get $5 i32.const -2147483648 i32.or i32.store offset=8 - local.get $3 + local.get $6 local.get $2 i32.store offset=4 br $block_5 - end ;; $if_15 + end ;; $if_12 local.set $1 br $block_4 end ;; $block_5 local.get $1 - local.get $4 + local.get $13 local.get $2 call $_memcpy drop @@ -19165,18 +19155,18 @@ i32.store8 i32.const 14944 i32.load - local.get $3 + local.get $6 call $__ZNSt3__212__hash_tableINS_17__hash_value_typeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_8functionIFNS_10unique_ptrI11RootContextNS_14default_deleteISA_EEEEjNS_17basic_string_viewIcS4_EEEEEEENS_22__unordered_map_hasherIS7_SI_NS_4hashIS7_EELb1EEENS_21__unordered_map_equalIS7_SI_NS_8equal_toIS7_EELb1EEENS5_ISI_EEE4findIS7_EENS_15__hash_iteratorIPNS_11__hash_nodeISI_PvEEEERKT_ local.tee $1 - if $if_17 (result i32) - local.get $7 + if $if_14 (result i32) + local.get $8 i32.load offset=4 local.set $2 - local.get $8 local.get $7 + local.get $8 i32.load i32.store - local.get $8 + local.get $7 local.get $2 i32.store offset=4 local.get $9 @@ -19186,7 +19176,7 @@ i32.load offset=40 local.tee $1 i32.eqz - if $if_18 + if $if_15 i32.const 4 call $___cxa_allocate_exception local.tee $2 @@ -19194,13 +19184,13 @@ i32.store local.get $2 i32.const 5248 - i32.const 37 + i32.const 36 call $___cxa_throw - end ;; $if_18 - local.get $10 + end ;; $if_15 + local.get $11 local.get $1 local.get $9 - local.get $8 + local.get $7 local.get $1 i32.load i32.load offset=24 @@ -19209,7 +19199,7 @@ i32.const 210 i32.add call_indirect $26 (type $5) - local.get $10 + local.get $11 i32.load local.tee $1 i32.load @@ -19221,7 +19211,7 @@ i32.and call_indirect $26 (type $1) local.set $1 - local.get $3 + local.get $6 call $__ZNSt3__213unordered_mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEP11RootContextNS_4hashIS6_EENS_8equal_toIS6_EENS4_INS_4pairIKS6_S8_EEEEEixERSE_ local.get $1 i32.store @@ -19231,20 +19221,20 @@ local.get $9 call $__ZNSt3__213unordered_mapIiNS_10unique_ptrI11ContextBaseNS_14default_deleteIS2_EEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEEixEOi local.set $2 - local.get $10 + local.get $11 i32.load - local.set $4 - local.get $10 + local.set $5 + local.get $11 i32.const 0 i32.store local.get $2 i32.load local.set $0 local.get $2 - local.get $4 + local.get $5 i32.store local.get $0 - if $if_19 + if $if_16 local.get $0 local.get $0 i32.load @@ -19254,15 +19244,15 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_19 - local.get $10 + end ;; $if_16 + local.get $11 i32.load local.set $0 - local.get $10 + local.get $11 i32.const 0 i32.store local.get $0 - if $if_20 + if $if_17 local.get $0 local.get $0 i32.load @@ -19272,15 +19262,15 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_20 + end ;; $if_17 local.get $1 else - local.get $7 + local.get $8 i32.load - local.set $6 - local.get $7 + local.set $10 + local.get $8 i32.load offset=4 - local.set $4 + local.set $5 i32.const 160 call $__Znwm local.tee $2 @@ -19327,54 +19317,54 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $4 + local.get $5 i32.const -17 i32.gt_u - if $if_21 + if $if_18 call $_abort - end ;; $if_21 + end ;; $if_18 block $block_6 block $block_7 - local.get $4 + local.get $5 i32.const 11 i32.lt_u - if $if_22 + if $if_19 local.get $2 - local.get $4 + local.get $5 i32.store8 offset=79 - local.get $4 + local.get $5 br_if $block_7 else local.get $1 - local.get $4 + local.get $5 i32.const 16 i32.add i32.const -16 i32.and - local.tee $5 + local.tee $13 call $__Znwm local.tee $1 i32.store local.get $2 - local.get $5 + local.get $13 i32.const -2147483648 i32.or i32.store offset=76 local.get $2 - local.get $4 + local.get $5 i32.store offset=72 br $block_7 - end ;; $if_22 + end ;; $if_19 br $block_6 end ;; $block_7 local.get $1 - local.get $6 - local.get $4 + local.get $10 + local.get $5 call $_memcpy drop end ;; $block_6 local.get $1 - local.get $4 + local.get $5 i32.add i32.const 0 i32.store8 @@ -19426,7 +19416,7 @@ local.get $2 i32.store local.get $0 - if $if_23 + if $if_20 local.get $0 local.get $0 i32.load @@ -19436,43 +19426,72 @@ i32.const 112 i32.add call_indirect $26 (type $0) - end ;; $if_23 + end ;; $if_20 local.get $2 - end ;; $if_17 + end ;; $if_14 local.set $0 - local.get $3 + local.get $6 i32.load8_s offset=11 i32.const 0 i32.lt_s - if $if_24 - local.get $3 + if $if_21 + local.get $6 i32.load call $_free - end ;; $if_24 - local.get $0 - local.get $0 - i32.load - i32.load offset=28 - i32.const 63 - i32.and - i32.const 112 - i32.add - call_indirect $26 (type $0) - local.get $7 + end ;; $if_21 + end ;; $block + local.get $0 + i32.load + i32.load offset=28 + local.set $2 + i32.const 8 + call $__Znwm + local.tee $1 + local.get $3 + i32.store + local.get $1 + local.get $4 + i32.store offset=4 + local.get $12 + local.get $1 + i32.store + local.get $0 + local.get $12 + local.get $2 + i32.const 31 + i32.and + i32.const 176 + i32.add + call_indirect $26 (type $4) + local.get $12 + i32.load + local.set $0 + local.get $12 + i32.const 0 + i32.store + local.get $0 + i32.eqz + if $if_22 + local.get $8 i32.load call $_free - local.get $7 - call $_free local.get $8 + call $_free + local.get $7 global.set $30 return - end ;; $block - local.get $7 + end ;; $if_22 + local.get $0 i32.load call $_free - local.get $7 + local.get $0 + call $_free + local.get $8 + i32.load call $_free local.get $8 + call $_free + local.get $7 global.set $30 ) @@ -21299,7 +21318,7 @@ i32.store local.get $1 i32.const 5344 - i32.const 44 + i32.const 43 call $___cxa_throw end ;; $if_1 local.get $0 @@ -21846,7 +21865,7 @@ i32.store local.get $1 i32.const 5344 - i32.const 44 + i32.const 43 call $___cxa_throw end ;; $if_1 local.get $0 @@ -22614,7 +22633,7 @@ i32.store local.get $1 i32.const 5248 - i32.const 37 + i32.const 36 call $___cxa_throw end ;; $if_8 local.get $0 @@ -23467,7 +23486,7 @@ i32.store local.get $1 i32.const 5248 - i32.const 37 + i32.const 36 call $___cxa_throw end ;; $if_10 local.get $0 @@ -24046,7 +24065,7 @@ i32.store local.get $1 i32.const 5248 - i32.const 37 + i32.const 36 call $___cxa_throw end ;; $if_10 local.get $0 @@ -27701,7 +27720,7 @@ i32.store local.get $2 i32.const 5344 - i32.const 44 + i32.const 43 call $___cxa_throw end ;; $if_1 local.get $1 @@ -28238,7 +28257,7 @@ call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_ local.get $2 i32.const 4736 - i32.const 32 + i32.const 31 call $___cxa_throw else local.get $1 @@ -28265,7 +28284,7 @@ i32.const 14956 local.get $0 i32.store - i32.const 54 + i32.const 53 i32.const 4 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ ) @@ -28518,7 +28537,7 @@ i32.store local.get $3 i32.const 5344 - i32.const 44 + i32.const 43 call $___cxa_throw else local.get $2 @@ -29659,14 +29678,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 50 + i32.const 49 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 50 + i32.const 49 i32.store offset=4 local.get $2 local.get $0 @@ -29715,14 +29734,14 @@ if $if_1 local.get $2 local.get $1 - i32.const 50 + i32.const 49 call $__ZN6google8protobuf8internal9ArenaImpl11SerialArena18AddCleanupFallbackEPvPFvS4_E else local.get $0 local.get $1 i32.store local.get $0 - i32.const 50 + i32.const 49 i32.store offset=4 local.get $2 local.get $0 @@ -40001,7 +40020,7 @@ i32.const 14880 i32.const 0 i32.store - i32.const 55 + i32.const 54 i32.const 14872 call $__ZN6google8protobuf8internal13OnShutdownRunEPFvPKvES3_ end ;; $if_5 @@ -51664,7 +51683,7 @@ end ;; $block_0 local.get $0 local.get $2 - i32.const 198 + i32.const 199 call_indirect $26 (type $4) end ;; $block end ;; $if @@ -59708,7 +59727,7 @@ i32.const 1 i32.store local.get $0 - i32.const 165 + i32.const 164 call_indirect $26 (type $0) i32.const 14952 i32.const -1 diff --git a/test/extensions/wasm/test_data/asm2wasm_cpp.cc b/test/extensions/wasm/test_data/asm2wasm_cpp.cc index d7615a53e558..1118270fde5e 100644 --- a/test/extensions/wasm/test_data/asm2wasm_cpp.cc +++ b/test/extensions/wasm/test_data/asm2wasm_cpp.cc @@ -13,7 +13,8 @@ double f64b = 1.0; // Emscripten in some modes and versions would use functions from the asm2wasm module to implement // these operations: int32_t % /, double conversion to int32_t and remainder(). -extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t) { +extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t, uint32_t, + uint32_t) { logInfo(std::string("out ") + std::to_string(i32a / i32b) + " " + std::to_string(i32a % i32b) + " " + std::to_string((int32_t)remainder(f64a, f64b))); } diff --git a/test/extensions/wasm/test_data/asm2wasm_cpp.wasm b/test/extensions/wasm/test_data/asm2wasm_cpp.wasm index c1d527890a0b..b7611a4a5690 100644 Binary files a/test/extensions/wasm/test_data/asm2wasm_cpp.wasm and b/test/extensions/wasm/test_data/asm2wasm_cpp.wasm differ diff --git a/test/extensions/wasm/test_data/asm2wasm_cpp.wat b/test/extensions/wasm/test_data/asm2wasm_cpp.wat index 90111d85812a..aa80e732352b 100644 --- a/test/extensions/wasm/test_data/asm2wasm_cpp.wat +++ b/test/extensions/wasm/test_data/asm2wasm_cpp.wat @@ -146,12 +146,12 @@ global.set $23 ) - (func $_proxy_onStart (type $10) + (func $_proxy_onStart (type $6) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -191,74 +191,74 @@ local.get $0 i32.const 36 i32.add - local.tee $4 + local.tee $3 i64.const 0 i64.store align=4 - local.get $4 + local.get $3 i32.const 0 i32.store offset=8 - local.get $4 + local.get $3 i32.const 4 i32.store8 offset=11 - local.get $4 + local.get $3 i32.const 544503151 i32.store - local.get $4 + local.get $3 i32.const 0 i32.store8 offset=4 local.get $0 i32.const 24 i32.add - local.tee $6 + local.tee $4 i32.const 0 call $__ZNSt3__29to_stringEi local.get $10 + local.get $3 local.get $4 - local.get $6 i32.load - local.get $6 - local.get $6 + local.get $4 + local.get $4 i32.load8_s offset=11 - local.tee $3 + local.tee $5 i32.const 0 i32.lt_s - local.tee $5 + local.tee $6 select - local.get $6 + local.get $4 i32.load offset=4 - local.get $3 + local.get $5 i32.const 255 i32.and - local.get $5 + local.get $6 select call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm - local.tee $3 + local.tee $5 i64.load align=4 i64.store align=4 local.get $10 - local.get $3 + local.get $5 i32.load offset=8 i32.store offset=8 - local.get $3 + local.get $5 i64.const 0 i64.store align=4 - local.get $3 + local.get $5 i32.const 0 i32.store offset=8 local.get $9 local.get $10 call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc - local.tee $3 + local.tee $5 i64.load align=4 i64.store align=4 local.get $9 - local.get $3 + local.get $5 i32.load offset=8 i32.store offset=8 - local.get $3 + local.get $5 i64.const 0 i64.store align=4 - local.get $3 + local.get $5 i32.const 0 i32.store offset=8 local.get $2 @@ -271,60 +271,60 @@ local.get $2 local.get $2 i32.load8_s offset=11 - local.tee $3 + local.tee $5 i32.const 0 i32.lt_s - local.tee $5 + local.tee $6 select local.get $2 i32.load offset=4 - local.get $3 + local.get $5 i32.const 255 i32.and - local.get $5 + local.get $6 select call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm - local.tee $3 + local.tee $5 i64.load align=4 i64.store align=4 local.get $8 - local.get $3 + local.get $5 i32.load offset=8 i32.store offset=8 - local.get $3 + local.get $5 i64.const 0 i64.store align=4 - local.get $3 + local.get $5 i32.const 0 i32.store offset=8 local.get $7 local.get $8 call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc - local.tee $3 + local.tee $5 i64.load align=4 i64.store align=4 local.get $7 - local.get $3 + local.get $5 i32.load offset=8 i32.store offset=8 - local.get $3 + local.get $5 i64.const 0 i64.store align=4 - local.get $3 + local.get $5 i32.const 0 i32.store offset=8 local.get $0 block $block (result i32) global.get $22 - local.set $3 + local.set $5 global.get $22 i32.const 16 i32.add global.set $22 - local.get $3 + local.get $5 i32.const 0 i32.store - local.get $3 + local.get $5 global.set $22 i32.const 0 end ;; $block @@ -341,30 +341,30 @@ local.get $0 local.get $0 i32.load8_s offset=11 - local.tee $3 + local.tee $5 i32.const 0 i32.lt_s - local.tee $5 + local.tee $6 select local.get $0 i32.load offset=4 - local.get $3 + local.get $5 i32.const 255 i32.and - local.get $5 + local.get $6 select call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm - local.tee $3 + local.tee $5 i64.load align=4 i64.store align=4 local.get $1 - local.get $3 + local.get $5 i32.load offset=8 i32.store offset=8 - local.get $3 + local.get $5 i64.const 0 i64.store align=4 - local.get $3 + local.get $5 i32.const 0 i32.store offset=8 i32.const 2 @@ -373,17 +373,17 @@ local.get $1 local.get $1 i32.load8_s offset=11 - local.tee $3 + local.tee $5 i32.const 0 i32.lt_s - local.tee $5 + local.tee $6 select local.get $1 i32.load offset=4 - local.get $3 + local.get $5 i32.const 255 i32.and - local.get $5 + local.get $6 select call $_proxy_log local.get $1 @@ -449,16 +449,16 @@ i32.load call $_free end ;; $if_6 - local.get $6 + local.get $4 i32.load8_s offset=11 i32.const 0 i32.lt_s if $if_7 - local.get $6 + local.get $4 i32.load call $_free end ;; $if_7 - local.get $4 + local.get $3 i32.load8_s offset=11 i32.const 0 i32.ge_s @@ -467,7 +467,7 @@ global.set $22 return end ;; $if_8 - local.get $4 + local.get $3 i32.load call $_free local.get $0 diff --git a/test/extensions/wasm/test_data/bad_signature_cpp.cc b/test/extensions/wasm/test_data/bad_signature_cpp.cc index cf11828fd66d..e250ccc0a257 100644 --- a/test/extensions/wasm/test_data/bad_signature_cpp.cc +++ b/test/extensions/wasm/test_data/bad_signature_cpp.cc @@ -8,7 +8,8 @@ extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onConfigure(uint32_t, int bad, char* logWarn(std::string("warn " + std::string(configuration, size))); } -extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t) { +extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t, uint32_t, + uint32_t) { logDebug(std::string("test debug") + " logging"); logInfo(std::string("test info") + " logging"); } diff --git a/test/extensions/wasm/test_data/bad_signature_cpp.wasm b/test/extensions/wasm/test_data/bad_signature_cpp.wasm index ed283ab5ede3..83dbcdea58bc 100644 Binary files a/test/extensions/wasm/test_data/bad_signature_cpp.wasm and b/test/extensions/wasm/test_data/bad_signature_cpp.wasm differ diff --git a/test/extensions/wasm/test_data/bad_signature_cpp.wat b/test/extensions/wasm/test_data/bad_signature_cpp.wat index ac2ec97e0998..372e9d157b8f 100644 --- a/test/extensions/wasm/test_data/bad_signature_cpp.wat +++ b/test/extensions/wasm/test_data/bad_signature_cpp.wat @@ -249,11 +249,12 @@ global.set $17 ) - (func $_proxy_onStart (type $8) + (func $_proxy_onStart (type $3) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (param $3 i32) + (param $4 i32) global.get $17 local.set $0 global.get $17 diff --git a/test/extensions/wasm/test_data/emscripten_cpp.cc b/test/extensions/wasm/test_data/emscripten_cpp.cc index cacd293137a6..7f45b2678f45 100644 --- a/test/extensions/wasm/test_data/emscripten_cpp.cc +++ b/test/extensions/wasm/test_data/emscripten_cpp.cc @@ -8,7 +8,8 @@ float gNan = std::nan("1"); float gInfinity = INFINITY; -extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t) { +extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t, uint32_t, + uint32_t) { logInfo(std::string("NaN ") + std::to_string(gNan)); // For some reason these return "inf nan": // logWarn("inf " + std::to_string(gInfinity)); diff --git a/test/extensions/wasm/test_data/emscripten_cpp.wasm b/test/extensions/wasm/test_data/emscripten_cpp.wasm index 958879cd318e..72ca5f667fb5 100644 Binary files a/test/extensions/wasm/test_data/emscripten_cpp.wasm and b/test/extensions/wasm/test_data/emscripten_cpp.wasm differ diff --git a/test/extensions/wasm/test_data/emscripten_cpp.wat b/test/extensions/wasm/test_data/emscripten_cpp.wat index 5f98afa00c67..6d917b57817a 100644 --- a/test/extensions/wasm/test_data/emscripten_cpp.wat +++ b/test/extensions/wasm/test_data/emscripten_cpp.wat @@ -150,12 +150,12 @@ global.set $26 ) - (func $_proxy_onStart (type $10) + (func $_proxy_onStart (type $6) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) global.get $25 local.set $0 global.get $25 diff --git a/test/extensions/wasm/test_data/logging_cpp.cc b/test/extensions/wasm/test_data/logging_cpp.cc index 20ace97ec7a3..ddc90b10b6ad 100644 --- a/test/extensions/wasm/test_data/logging_cpp.cc +++ b/test/extensions/wasm/test_data/logging_cpp.cc @@ -7,7 +7,8 @@ extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onConfigure(uint32_t, char* configura logWarn(std::string("warn " + std::string(configuration, size))); } -extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t) { +extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t, uint32_t, + uint32_t) { logTrace(std::string("test trace") + " logging"); logDebug(std::string("test debug") + " logging"); logError(std::string("test error") + " logging"); diff --git a/test/extensions/wasm/test_data/logging_cpp.wasm b/test/extensions/wasm/test_data/logging_cpp.wasm index 578f2c8e7389..5ba0798111dc 100644 Binary files a/test/extensions/wasm/test_data/logging_cpp.wasm and b/test/extensions/wasm/test_data/logging_cpp.wasm differ diff --git a/test/extensions/wasm/test_data/logging_cpp.wat b/test/extensions/wasm/test_data/logging_cpp.wat index 2a6c60b080c7..939cddd28202 100644 --- a/test/extensions/wasm/test_data/logging_cpp.wat +++ b/test/extensions/wasm/test_data/logging_cpp.wat @@ -249,11 +249,12 @@ global.set $17 ) - (func $_proxy_onStart (type $8) + (func $_proxy_onStart (type $3) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (param $3 i32) + (param $4 i32) global.get $17 local.set $0 global.get $17 diff --git a/test/extensions/wasm/test_data/logging_rust.wasm b/test/extensions/wasm/test_data/logging_rust.wasm index 86a1faba1d5c..ac5d23ea5e2e 100755 Binary files a/test/extensions/wasm/test_data/logging_rust.wasm and b/test/extensions/wasm/test_data/logging_rust.wasm differ diff --git a/test/extensions/wasm/test_data/logging_rust.wat b/test/extensions/wasm/test_data/logging_rust.wat index 7f88174e32c3..e4ce5a806a42 100644 --- a/test/extensions/wasm/test_data/logging_rust.wat +++ b/test/extensions/wasm/test_data/logging_rust.wat @@ -4,34 +4,35 @@ (type $2 (func (param i32 i32) (result i32))) (type $3 (func (param i32 i32 i32))) (type $4 (func)) - (type $5 (func (param i32))) - (type $6 (func (param i32) (result i32))) - (type $7 (func (param i64 i32) (result i32))) - (type $8 (func (param i32) (result i64))) - (type $9 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $10 (func (param i32 i32 i32 i32) (result i32))) - (type $11 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i32 i32 i32))) + (type $6 (func (param i32))) + (type $7 (func (param i32) (result i32))) + (type $8 (func (param i64 i32) (result i32))) + (type $9 (func (param i32) (result i64))) + (type $10 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $11 (func (param i32 i32 i32 i32) (result i32))) + (type $12 (func (param i32 i32 i32 i32))) (import "env" "_proxy_log" (func $_proxy_log (param i32 i32 i32))) - (export "memory" (memory $13)) - (export "__heap_base" (global $15)) - (export "__data_end" (global $16)) + (export "memory" (memory $14)) + (export "__heap_base" (global $16)) + (export "__data_end" (global $17)) (export "_proxy_onConfigure" (func $_proxy_onConfigure)) (export "_proxy_onStart" (func $_proxy_onStart)) (export "_proxy_onTick" (func $_proxy_onTick)) (export "__post_instantiate" (func $__post_instantiate)) (export "_malloc" (func $_malloc)) (export "_free" (func $_free)) - (memory $13 17) - (table $12 27 27 funcref) - (global $14 (mut i32) (i32.const 1048576)) - (global $15 i32 (i32.const 1055076)) + (memory $14 17) + (table $13 27 27 funcref) + (global $15 (mut i32) (i32.const 1048576)) (global $16 i32 (i32.const 1055076)) - (elem $17 $12 (i32.const 1) + (global $17 i32 (i32.const 1055076)) + (elem $18 $13 (i32.const 1) $<&T_as_core::fmt::Display>::fmt::h7b31b334e7b8b382 $core::fmt::ArgumentV1::show_usize::hf8ebfbd77fa8a93d $::fmt::hab9915d856568df0 $::fmt::h886976dffb9dde73 $<&T_as_core::fmt::Display>::fmt::hdf3341d54242ca4a $core::fmt::num::imp::::fmt::h4f3293445fab7cb7 $_as_core::fmt::Debug>::fmt::h6105e754ea0aeafb $::fmt::h7a420490f85a5bf3 $core::ptr::real_drop_in_place::h0013f08692be52e6 $<&mut_W_as_core::fmt::Write>::write_str::hf2482d9015e58e57 $<&mut_W_as_core::fmt::Write>::write_char::h16378c8711c26c01 $<&mut_W_as_core::fmt::Write>::write_fmt::h8b5befc9d6ef0a73 $core::ptr::real_drop_in_place::h5a9a7fbf25605767 $::enabled::h8a7702bb390b0ea2 $::log::h0a6214a4920b004c $::flush::h5e0800c275585e5e $::enabled::h498b43c893826962 $::log::h2ca6f3fe5cf690d4 $::type_id::h5fb1d47f0acdabcc $core::ptr::real_drop_in_place::h23040579a46f15a6 $::write_str::h7d69c319e62567ea $core::fmt::Write::write_char::he6255f3eabfceb48 $core::fmt::Write::write_fmt::hd43133c0fc77f05d $<&mut_W_as_core::fmt::Write>::write_str::h0573ddc37a895899 $<&mut_W_as_core::fmt::Write>::write_char::hc454648cbae23e1c $<&mut_W_as_core::fmt::Write>::write_fmt::hc0aee806cb052974) - (data $18 $13 (i32.const 1048576) + (data $19 $14 (i32.const 1048576) "warn \00\00\00\00\00\10\00\05\00\00\00logging_rustsrc/lib.rstest trace logging&\00\10\00\12\00\00\00" "test debug logging\00\00@\00\10\00\12\00\00\00test error logging\00\00\\\00\10\00\12\00\00\00test tic" "k logging\00\00\00x\00\10\00\11\00\00\00\09\00\00\00\04\00\00\00\04\00\00\00\n\00\00\00\0b\00\00\00\0c\00\00\00 \02\10\00\00\00\00\00\e1\00\10\00\02\00\00\00\cc\00\10\00" @@ -126,7 +127,7 @@ "` on a `None` valuesrc/libcore/option.rsbegin <= end ( <= ) when" " slicing ` is out of bounds of ` \14\00\00\00\0c\00\00\00\04\00\00\00\15\00\00\00\16\00\00\00\17\00\00\00,\n\00\00" "\09\00\00\00\04\00\00\00\04\00\00\00\18\00\00\00\19\00\00\00\1a\00\00\00(\n()Error") - (data $19 $13 (i32.const 1054568) + (data $20 $14 (i32.const 1054568) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" @@ -135,7 +136,7 @@ "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data $20 $13 (i32.const 1055044) + (data $21 $14 (i32.const 1055044) "p\17\10\00L\19\10\00\0d\00\00\00\00\00\00\00\01\00\00\00\11\00\00\00\12\00\00\00\10\00\00\00") (func $_proxy_onConfigure (type $3) @@ -144,11 +145,11 @@ (param $2 i32) (local $3 i32) (local $4 i32) - global.get $14 + global.get $15 i32.const 80 i32.sub local.tee $3 - global.set $14 + global.set $15 local.get $3 local.get $2 i32.store offset=4 @@ -243,12 +244,12 @@ local.get $4 select i32.load offset=16 - call_indirect $12 (type $0) + call_indirect $13 (type $0) end ;; $block local.get $3 i32.const 80 i32.add - global.set $14 + global.set $15 ) (func $<&T_as_core::fmt::Display>::fmt::h7b31b334e7b8b382 (type $2) @@ -263,20 +264,22 @@ call $core::fmt::Formatter::pad::hacaebd5abd28adf1 ) - (func $_proxy_onStart (type $3) + (func $_proxy_onStart (type $5) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $14 + (local $8 i32) + (local $9 i32) + global.get $15 i32.const 64 i32.sub - local.tee $3 - global.set $14 + local.tee $5 + global.set $15 block $block block $block_0 block $block_1 @@ -288,7 +291,7 @@ i32.ge_u br_if $block_3 i32.const 4 - local.set $4 + local.set $6 i32.const 0 i32.load offset=1054568 i32.const 4 @@ -298,79 +301,79 @@ end ;; $block_3 i32.const 0 i32.load offset=1055048 - local.set $4 + local.set $6 i32.const 0 i32.load offset=1055044 - local.set $5 + local.set $7 i32.const 0 i32.load offset=1054572 - local.set $6 - local.get $3 + local.set $8 + local.get $5 i32.const 56 i32.add i32.const 16 i32.store - local.get $3 + local.get $5 i32.const 48 i32.add i64.const 4294967306 i64.store - local.get $3 + local.get $5 i32.const 40 i32.add i32.const 12 i32.store - local.get $3 + local.get $5 i32.const 32 i32.add i32.const 0 i32.store - local.get $3 + local.get $5 i32.const 28 i32.add i32.const 1049120 i32.store - local.get $3 + local.get $5 i32.const 16 i32.add i64.const 1 i64.store - local.get $3 + local.get $5 i32.const 8 i32.add i32.const 12 i32.store - local.get $3 + local.get $5 i32.const 1048604 i32.store offset=44 - local.get $3 + local.get $5 i32.const 1048592 i32.store offset=36 - local.get $3 + local.get $5 i32.const 1048632 i32.store offset=12 - local.get $3 + local.get $5 i32.const 1048592 i32.store offset=4 - local.get $3 + local.get $5 i32.const 5 i32.store - local.get $5 + local.get $7 i32.const 1049000 - local.get $6 + local.get $8 i32.const 2 i32.eq - local.tee $6 + local.tee $8 select - local.get $3 - local.get $4 - i32.const 1049000 + local.get $5 local.get $6 + i32.const 1049000 + local.get $8 select i32.load offset=16 - call_indirect $12 (type $0) + call_indirect $13 (type $0) i32.const 4 - local.set $4 + local.set $6 i32.const 0 i32.load offset=1054568 i32.const 4 @@ -379,182 +382,182 @@ end ;; $block_2 i32.const 0 i32.load offset=1055048 - local.set $5 + local.set $7 i32.const 0 i32.load offset=1055044 - local.set $6 + local.set $8 i32.const 0 i32.load offset=1054572 - local.set $7 - local.get $3 + local.set $9 + local.get $5 i32.const 56 i32.add i32.const 17 i32.store - local.get $3 + local.get $5 i32.const 48 i32.add i64.const 4294967306 i64.store - local.get $3 + local.get $5 i32.const 40 i32.add i32.const 12 i32.store - local.get $3 + local.get $5 i32.const 32 i32.add i32.const 0 i32.store - local.get $3 + local.get $5 i32.const 28 i32.add i32.const 1049120 i32.store - local.get $3 + local.get $5 i32.const 16 i32.add i64.const 1 i64.store - local.get $3 + local.get $5 i32.const 8 i32.add i32.const 12 i32.store - local.get $3 + local.get $5 i32.const 1048604 i32.store offset=44 - local.get $3 + local.get $5 i32.const 1048592 i32.store offset=36 - local.get $3 + local.get $5 i32.const 1048660 i32.store offset=12 - local.get $3 + local.get $5 i32.const 1048592 i32.store offset=4 - local.get $3 - local.get $4 - i32.store + local.get $5 local.get $6 + i32.store + local.get $8 i32.const 1049000 - local.get $7 + local.get $9 i32.const 2 i32.eq - local.tee $4 + local.tee $6 select - local.get $3 local.get $5 + local.get $7 i32.const 1049000 - local.get $4 + local.get $6 select i32.load offset=16 - call_indirect $12 (type $0) + call_indirect $13 (type $0) i32.const 0 - local.set $4 + local.set $6 i32.const 0 i32.load offset=1054568 br_if $block_0 br $block end ;; $block_1 i32.const 0 - local.set $4 + local.set $6 i32.const 0 i32.load offset=1054568 i32.eqz br_if $block end ;; $block_0 - local.get $4 + local.get $6 i32.load offset=1055048 - local.set $5 - local.get $4 + local.set $7 + local.get $6 i32.load offset=1055044 - local.set $6 - local.get $4 + local.set $8 + local.get $6 i32.load offset=1054572 - local.set $7 - local.get $3 + local.set $9 + local.get $5 i32.const 56 i32.add i32.const 18 i32.store - local.get $3 + local.get $5 i32.const 48 i32.add i64.const 4294967306 i64.store - local.get $3 + local.get $5 i32.const 40 i32.add i32.const 12 i32.store - local.get $3 + local.get $5 i32.const 32 i32.add - local.get $4 + local.get $6 i32.store - local.get $3 + local.get $5 i32.const 28 i32.add i32.const 1049120 i32.store - local.get $3 + local.get $5 i32.const 16 i32.add i64.const 1 i64.store - local.get $3 + local.get $5 i32.const 8 i32.add i32.const 12 i32.store - local.get $3 + local.get $5 i32.const 1048604 i32.store offset=44 - local.get $3 + local.get $5 i32.const 1048592 i32.store offset=36 - local.get $3 + local.get $5 i32.const 1048688 i32.store offset=12 - local.get $3 + local.get $5 i32.const 1048592 i32.store offset=4 - local.get $3 + local.get $5 i32.const 1 i32.store - local.get $6 + local.get $8 i32.const 1049000 - local.get $7 + local.get $9 i32.const 2 i32.eq - local.tee $4 + local.tee $6 select - local.get $3 local.get $5 + local.get $7 i32.const 1049000 - local.get $4 + local.get $6 select i32.load offset=16 - call_indirect $12 (type $0) + call_indirect $13 (type $0) end ;; $block - local.get $3 + local.get $5 i32.const 64 i32.add - global.set $14 + global.set $15 ) - (func $_proxy_onTick (type $5) + (func $_proxy_onTick (type $6) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - global.get $14 + global.get $15 i32.const 64 i32.sub local.tee $1 - global.set $14 + global.set $15 block $block i32.const 0 i32.load offset=1054568 @@ -633,12 +636,12 @@ local.get $4 select i32.load offset=16 - call_indirect $12 (type $0) + call_indirect $13 (type $0) end ;; $block local.get $1 i32.const 64 i32.add - global.set $14 + global.set $15 ) (func $<&mut_W_as_core::fmt::Write>::write_str::hf2482d9015e58e57 (type $1) @@ -783,11 +786,11 @@ (local $3 i32) (local $4 i32) (local $5 i32) - global.get $14 + global.get $15 i32.const 16 i32.sub local.tee $2 - global.set $14 + global.set $15 local.get $0 i32.load local.set $0 @@ -1078,7 +1081,7 @@ local.get $2 i32.const 16 i32.add - global.set $14 + global.set $15 i32.const 0 return end ;; $block_0 @@ -1094,11 +1097,11 @@ (param $1 i32) (result i32) (local $2 i32) - global.get $14 + global.get $15 i32.const 32 i32.sub local.tee $2 - global.set $14 + global.set $15 local.get $2 local.get $0 i32.load @@ -1139,7 +1142,7 @@ local.get $2 i32.const 32 i32.add - global.set $14 + global.set $15 local.get $1 ) @@ -1158,11 +1161,11 @@ (local $10 i32) (local $11 i32) (local $12 i32) - global.get $14 + global.get $15 i32.const 64 i32.sub local.tee $3 - global.set $14 + global.set $15 local.get $3 i32.const 36 i32.add @@ -1245,7 +1248,7 @@ i32.load offset=4 local.get $1 i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) br_if $block_0 local.get $8 i32.const 8 @@ -1573,7 +1576,7 @@ i32.const 4 i32.add i32.load - call_indirect $12 (type $2) + call_indirect $13 (type $2) br_if $block_0 local.get $6 local.get $10 @@ -1614,7 +1617,7 @@ i32.add i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) i32.eqz br_if $loop br $block_0 @@ -1651,7 +1654,7 @@ i32.load offset=4 local.get $1 i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) br_if $block_0 local.get $8 i32.const 8 @@ -1677,7 +1680,7 @@ i32.const 4 i32.add i32.load - call_indirect $12 (type $2) + call_indirect $13 (type $2) br_if $block_0 local.get $6 local.get $10 @@ -1710,7 +1713,7 @@ local.get $1 i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) i32.eqz br_if $loop_0 br $block_0 @@ -1738,31 +1741,31 @@ i32.add i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) i32.eqz br_if $block end ;; $block_0 local.get $3 i32.const 64 i32.add - global.set $14 + global.set $15 i32.const 1 return end ;; $block local.get $3 i32.const 64 i32.add - global.set $14 + global.set $15 i32.const 0 ) (func $core::result::unwrap_failed::h7b72eb0c479e1bd5 (type $4) (local $0 i32) - global.get $14 + global.get $15 i32.const 64 i32.sub local.tee $0 - global.set $14 + global.set $15 local.get $0 i32.const 43 i32.store offset=12 @@ -1819,11 +1822,11 @@ (local $3 i32) (local $4 i32) (local $5 i32) - global.get $14 + global.get $15 i32.const 80 i32.sub local.tee $2 - global.set $14 + global.set $15 i32.const 1 local.set $3 block $block @@ -1837,7 +1840,7 @@ local.tee $4 i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) br_if $block local.get $1 i32.const 24 @@ -1861,7 +1864,7 @@ i32.const 1054554 i32.const 1 local.get $4 - call_indirect $12 (type $1) + call_indirect $13 (type $1) br_if $block local.get $1 i32.const 1048996 @@ -1875,7 +1878,7 @@ i32.const 1054552 i32.const 2 local.get $4 - call_indirect $12 (type $1) + call_indirect $13 (type $1) br_if $block local.get $1 i32.load @@ -1954,13 +1957,13 @@ i32.add i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) local.set $3 end ;; $block local.get $2 i32.const 80 i32.add - global.set $14 + global.set $15 local.get $3 ) @@ -1969,11 +1972,11 @@ (param $1 i32) (local $2 i32) (local $3 i64) - global.get $14 + global.get $15 i32.const 32 i32.sub local.tee $2 - global.set $14 + global.set $15 local.get $1 i64.load align=4 local.set $3 @@ -2002,11 +2005,11 @@ (func $core::result::unwrap_failed::hc7f92e904dbe4728 (type $4) (local $0 i32) - global.get $14 + global.get $15 i32.const 64 i32.sub local.tee $0 - global.set $14 + global.set $15 local.get $0 i32.const 55 i32.store offset=12 @@ -2068,7 +2071,7 @@ i32.add i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) ) (func $core::fmt::Formatter::pad::hacaebd5abd28adf1 (type $1) @@ -2500,7 +2503,7 @@ i32.add i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) return end ;; $block_4 local.get $0 @@ -2512,7 +2515,7 @@ i32.add i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) return end ;; $block_3 local.get $9 @@ -2562,7 +2565,7 @@ local.get $7 i32.load i32.load offset=16 - call_indirect $12 (type $2) + call_indirect $13 (type $2) i32.eqz br_if $loop_2 end ;; $loop_2 @@ -2589,7 +2592,7 @@ local.tee $6 i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) br_if $block local.get $10 i32.load @@ -2614,7 +2617,7 @@ local.get $9 local.get $6 i32.load - call_indirect $12 (type $2) + call_indirect $13 (type $2) i32.eqz br_if $loop_3 end ;; $loop_3 @@ -2633,7 +2636,7 @@ i32.add i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) local.set $3 end ;; $block local.get $3 @@ -2646,11 +2649,11 @@ (local $2 i32) (local $3 i32) (local $4 i32) - global.get $14 + global.get $15 i32.const 32 i32.sub local.tee $2 - global.set $14 + global.set $15 local.get $1 i32.const 28 i32.add @@ -2695,7 +2698,7 @@ local.get $2 i32.const 32 i32.add - global.set $14 + global.set $15 local.get $1 ) @@ -2713,11 +2716,11 @@ (local $3 i32) (local $4 i32) (local $5 i32) - global.get $14 + global.get $15 i32.const 64 i32.sub local.tee $2 - global.set $14 + global.set $15 local.get $1 i32.load local.set $3 @@ -2850,7 +2853,7 @@ local.get $2 i32.const 64 i32.add - global.set $14 + global.set $15 return end ;; $block_1 call $core::result::unwrap_failed::hc7f92e904dbe4728 @@ -2864,23 +2867,23 @@ unreachable ) - (func $__rust_dealloc (type $5) + (func $__rust_dealloc (type $6) (param $0 i32) local.get $0 call $__rdl_dealloc ) - (func $core::panicking::panic::h62fdcfa056e70982 (type $5) + (func $core::panicking::panic::h62fdcfa056e70982 (type $6) (param $0 i32) (local $1 i32) (local $2 i64) (local $3 i64) (local $4 i64) - global.get $14 + global.get $15 i32.const 48 i32.sub local.tee $1 - global.set $14 + global.set $15 local.get $0 i64.load offset=8 align=4 local.set $2 @@ -2967,7 +2970,7 @@ i32.store offset=1054568 ) - (func $_malloc (type $6) + (func $_malloc (type $7) (param $0 i32) (result i32) block $block @@ -3004,7 +3007,7 @@ unreachable ) - (func $_free (type $5) + (func $_free (type $6) (param $0 i32) block $block local.get $0 @@ -3027,7 +3030,7 @@ (param $1 i32) ) - (func $::flush::h5e0800c275585e5e (type $5) + (func $::flush::h5e0800c275585e5e (type $6) (param $0 i32) ) @@ -3049,11 +3052,11 @@ (local $13 i32) (local $14 i32) (local $15 i32) - global.get $14 + global.get $15 i32.const 48 i32.sub local.tee $3 - global.set $14 + global.set $15 block $block local.get $2 i32.eqz @@ -3099,7 +3102,7 @@ local.get $9 i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) br_if $block_3 end ;; $block_4 local.get $4 @@ -3299,7 +3302,7 @@ local.get $11 local.get $14 i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) br_if $block_3 block $block_14 local.get $10 @@ -3331,14 +3334,14 @@ local.get $3 i32.const 48 i32.add - global.set $14 + global.set $15 i32.const 1 return end ;; $block_2 local.get $3 i32.const 48 i32.add - global.set $14 + global.set $15 i32.const 0 return end ;; $block_1 @@ -3359,11 +3362,11 @@ local.get $3 i32.const 48 i32.add - global.set $14 + global.set $15 i32.const 0 ) - (func $std::panicking::rust_panic_with_hook::h3f88564dfeb012eb (type $5) + (func $std::panicking::rust_panic_with_hook::h3f88564dfeb012eb (type $6) (param $0 i32) (local $1 i32) (local $2 i32) @@ -3421,14 +3424,14 @@ unreachable ) - (func $std::panicking::continue_panic_fmt::he2d0fc2a935878af (type $5) + (func $std::panicking::continue_panic_fmt::he2d0fc2a935878af (type $6) (param $0 i32) (local $1 i32) - global.get $14 + global.get $15 i32.const 16 i32.sub local.tee $1 - global.set $14 + global.set $15 local.get $0 i32.load offset=8 call $core::option::Option::unwrap::hcab2ea581bad05cd @@ -3448,7 +3451,7 @@ unreachable ) - (func $core::option::Option::unwrap::hcab2ea581bad05cd (type $6) + (func $core::option::Option::unwrap::hcab2ea581bad05cd (type $7) (param $0 i32) (result i32) block $block @@ -3695,7 +3698,7 @@ local.get $2 ) - (func $dlmalloc::dlmalloc::Dlmalloc::malloc::h7ef7d8a98d4afe8d (type $6) + (func $dlmalloc::dlmalloc::Dlmalloc::malloc::h7ef7d8a98d4afe8d (type $7) (param $0 i32) (result i32) (local $1 i32) @@ -7453,13 +7456,13 @@ i32.store offset=8 ) - (func $__rdl_dealloc (type $5) + (func $__rdl_dealloc (type $6) (param $0 i32) local.get $0 call $dlmalloc::dlmalloc::Dlmalloc::free::he25d64d2cc54b15f ) - (func $dlmalloc::dlmalloc::Dlmalloc::free::he25d64d2cc54b15f (type $5) + (func $dlmalloc::dlmalloc::Dlmalloc::free::he25d64d2cc54b15f (type $6) (param $0 i32) (local $1 i32) (local $2 i32) @@ -9032,7 +9035,7 @@ local.get $0 ) - (func $rust_begin_unwind (type $5) + (func $rust_begin_unwind (type $6) (param $0 i32) local.get $0 call $std::panicking::continue_panic_fmt::he2d0fc2a935878af @@ -9043,11 +9046,11 @@ (param $0 i32) (param $1 i32) (local $2 i32) - global.get $14 + global.get $15 i32.const 48 i32.sub local.tee $2 - global.set $14 + global.set $15 local.get $2 local.get $1 i32.store offset=4 @@ -9109,11 +9112,11 @@ (param $1 i32) (param $2 i32) (local $3 i32) - global.get $14 + global.get $15 i32.const 48 i32.sub local.tee $3 - global.set $14 + global.set $15 local.get $3 local.get $2 i32.store offset=4 @@ -9160,7 +9163,7 @@ unreachable ) - (func $core::fmt::num::imp::fmt_u64::h4648b2300e699242 (type $7) + (func $core::fmt::num::imp::fmt_u64::h4648b2300e699242 (type $8) (param $0 i64) (param $1 i32) (result i32) @@ -9170,11 +9173,11 @@ (local $5 i64) (local $6 i32) (local $7 i32) - global.get $14 + global.get $15 i32.const 48 i32.sub local.tee $2 - global.set $14 + global.set $15 i32.const 39 local.set $3 block $block @@ -9338,21 +9341,21 @@ local.get $2 i32.const 48 i32.add - global.set $14 + global.set $15 local.get $3 ) - (func $core::ptr::real_drop_in_place::h5a9a7fbf25605767 (type $5) + (func $core::ptr::real_drop_in_place::h5a9a7fbf25605767 (type $6) (param $0 i32) ) - (func $::type_id::h5fb1d47f0acdabcc (type $8) + (func $::type_id::h5fb1d47f0acdabcc (type $9) (param $0 i32) (result i64) i64.const -670765639137414048 ) - (func $core::fmt::Formatter::pad_integral::h17dddcbb38d9710f (type $9) + (func $core::fmt::Formatter::pad_integral::h17dddcbb38d9710f (type $10) (param $0 i32) (param $1 i32) (param $2 i32) @@ -9513,7 +9516,7 @@ i32.add i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) return end ;; $block_14 i32.const 1 @@ -9606,7 +9609,7 @@ local.get $5 i32.load i32.load offset=16 - call_indirect $12 (type $2) + call_indirect $13 (type $2) i32.eqz br_if $loop_0 br $block_7 @@ -9638,7 +9641,7 @@ local.tee $2 i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) br_if $block local.get $9 i32.load @@ -9664,7 +9667,7 @@ local.get $10 local.get $2 i32.load - call_indirect $12 (type $2) + call_indirect $13 (type $2) i32.eqz br_if $loop_1 br $block @@ -9716,7 +9719,7 @@ local.get $1 i32.load i32.load offset=16 - call_indirect $12 (type $2) + call_indirect $13 (type $2) i32.eqz br_if $loop_2 end ;; $loop_2 @@ -9745,7 +9748,7 @@ local.tee $2 i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) br_if $block local.get $9 i32.load @@ -9771,7 +9774,7 @@ local.get $10 local.get $2 i32.load - call_indirect $12 (type $2) + call_indirect $13 (type $2) i32.eqz br_if $loop_3 br $block @@ -9800,13 +9803,13 @@ i32.add i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) return end ;; $block local.get $8 ) - (func $core::fmt::Formatter::pad_integral::write_prefix::h80e5cb0c85711a72 (type $10) + (func $core::fmt::Formatter::pad_integral::write_prefix::h80e5cb0c85711a72 (type $11) (param $0 i32) (param $1 i32) (param $2 i32) @@ -9830,7 +9833,7 @@ i32.add i32.load i32.load offset=16 - call_indirect $12 (type $2) + call_indirect $13 (type $2) br_if $block_0 end ;; $block_1 local.get $2 @@ -9845,7 +9848,7 @@ i32.add i32.load i32.load offset=12 - call_indirect $12 (type $1) + call_indirect $13 (type $1) local.set $4 end ;; $block_0 local.get $4 @@ -9858,11 +9861,11 @@ (param $0 i32) (param $1 i32) (local $2 i32) - global.get $14 + global.get $15 i32.const 48 i32.sub local.tee $2 - global.set $14 + global.set $15 local.get $2 local.get $1 i32.store offset=4 @@ -9909,7 +9912,7 @@ unreachable ) - (func $core::str::slice_error_fail::h3704ce74b976be71 (type $11) + (func $core::str::slice_error_fail::h3704ce74b976be71 (type $12) (param $0 i32) (param $1 i32) (param $2 i32) @@ -9920,11 +9923,11 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $14 + global.get $15 i32.const 112 i32.sub local.tee $4 - global.set $14 + global.set $15 local.get $4 local.get $3 i32.store offset=12 @@ -10489,11 +10492,11 @@ (local $2 i32) (local $3 i32) (local $4 i32) - global.get $14 + global.get $15 i32.const 32 i32.sub local.tee $2 - global.set $14 + global.set $15 block $block block $block_0 local.get $0 @@ -10535,7 +10538,7 @@ local.get $2 i32.const 32 i32.add - global.set $14 + global.set $15 i32.const 1 return end ;; $block @@ -10547,7 +10550,7 @@ local.get $2 i32.const 32 i32.add - global.set $14 + global.set $15 local.get $1 ) @@ -10591,7 +10594,7 @@ i32.add i32.load i32.load offset=16 - call_indirect $12 (type $2) + call_indirect $13 (type $2) br_if $block i32.const 2 local.set $2 @@ -11450,7 +11453,7 @@ local.get $14 i32.load i32.load offset=16 - call_indirect $12 (type $2) + call_indirect $13 (type $2) i32.eqz br_if $loop_4 end ;; $loop_4 @@ -11467,7 +11470,7 @@ i32.add i32.load i32.load offset=16 - call_indirect $12 (type $2) + call_indirect $13 (type $2) local.set $2 end ;; $block local.get $2 @@ -11480,11 +11483,11 @@ (local $2 i32) (local $3 i32) (local $4 i32) - global.get $14 + global.get $15 i32.const 128 i32.sub local.tee $2 - global.set $14 + global.set $15 block $block block $block_0 block $block_1 @@ -11507,7 +11510,7 @@ local.get $2 i32.const 128 i32.add - global.set $14 + global.set $15 local.get $0 return end ;; $block_2 @@ -11566,7 +11569,7 @@ local.get $2 i32.const 128 i32.add - global.set $14 + global.set $15 local.get $0 return end ;; $block_1 @@ -11625,7 +11628,7 @@ local.get $2 i32.const 128 i32.add - global.set $14 + global.set $15 local.get $0 return end ;; $block_0 @@ -11650,7 +11653,7 @@ call $core::fmt::num::imp::fmt_u64::h4648b2300e699242 ) - (func $core::slice::memchr::memchr::h6bde110ce4c09380 (type $11) + (func $core::slice::memchr::memchr::h6bde110ce4c09380 (type $12) (param $0 i32) (param $1 i32) (param $2 i32) @@ -12056,7 +12059,7 @@ unreachable ) - (func $core::ptr::real_drop_in_place::h23040579a46f15a6 (type $5) + (func $core::ptr::real_drop_in_place::h23040579a46f15a6 (type $6) (param $0 i32) ) @@ -12065,11 +12068,11 @@ (param $1 i32) (result i32) (local $2 i32) - global.get $14 + global.get $15 i32.const 16 i32.sub local.tee $2 - global.set $14 + global.set $15 local.get $2 i32.const 0 i32.store offset=12 @@ -12190,7 +12193,7 @@ local.get $2 i32.const 16 i32.add - global.set $14 + global.set $15 local.get $1 ) @@ -12199,11 +12202,11 @@ (param $1 i32) (result i32) (local $2 i32) - global.get $14 + global.get $15 i32.const 32 i32.sub local.tee $2 - global.set $14 + global.set $15 local.get $2 local.get $0 i32.store offset=4 @@ -12243,11 +12246,11 @@ local.get $2 i32.const 32 i32.add - global.set $14 + global.set $15 local.get $1 ) - (func $core::ptr::real_drop_in_place::h0013f08692be52e6 (type $5) + (func $core::ptr::real_drop_in_place::h0013f08692be52e6 (type $6) (param $0 i32) ) @@ -12268,11 +12271,11 @@ (param $1 i32) (result i32) (local $2 i32) - global.get $14 + global.get $15 i32.const 16 i32.sub local.tee $2 - global.set $14 + global.set $15 local.get $0 i32.load local.set $0 @@ -12396,7 +12399,7 @@ local.get $2 i32.const 16 i32.add - global.set $14 + global.set $15 local.get $1 ) @@ -12405,11 +12408,11 @@ (param $1 i32) (result i32) (local $2 i32) - global.get $14 + global.get $15 i32.const 32 i32.sub local.tee $2 - global.set $14 + global.set $15 local.get $2 local.get $0 i32.load @@ -12450,7 +12453,7 @@ local.get $2 i32.const 32 i32.add - global.set $14 + global.set $15 local.get $1 ) diff --git a/test/extensions/wasm/test_data/logging_rust/src/lib.rs b/test/extensions/wasm/test_data/logging_rust/src/lib.rs index b20388fa6dc9..2e88d9187f97 100644 --- a/test/extensions/wasm/test_data/logging_rust/src/lib.rs +++ b/test/extensions/wasm/test_data/logging_rust/src/lib.rs @@ -12,7 +12,7 @@ pub fn _proxy_onConfigure(_context_id : u32, message: &str) { #[no_mangle] #[allow(non_snake_case)] -pub fn _proxy_onStart(_context_id : u32, _root_id_ptr : u32, _root_id_size : u32) { +pub fn _proxy_onStart(_context_id : u32, _root_id_ptr : u32, _root_id_size : u32, _vm_configuration_ptr : u32, _vm_configuration_size : u32) { trace!("test trace logging"); debug!("test debug logging"); error!("test error logging"); diff --git a/test/extensions/wasm/test_data/missing_cpp.cc b/test/extensions/wasm/test_data/missing_cpp.cc index 15b1e690502d..2608c7ebf050 100644 --- a/test/extensions/wasm/test_data/missing_cpp.cc +++ b/test/extensions/wasm/test_data/missing_cpp.cc @@ -3,4 +3,7 @@ extern "C" void missing(); -extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t) { missing(); } +extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t, uint32_t, + uint32_t) { + missing(); +} diff --git a/test/extensions/wasm/test_data/missing_cpp.wasm b/test/extensions/wasm/test_data/missing_cpp.wasm index 73ab60405d25..2fbe2617f3d1 100644 Binary files a/test/extensions/wasm/test_data/missing_cpp.wasm and b/test/extensions/wasm/test_data/missing_cpp.wasm differ diff --git a/test/extensions/wasm/test_data/missing_cpp.wat b/test/extensions/wasm/test_data/missing_cpp.wat index 2422b4f33d1d..6bf47c7fcd6a 100644 --- a/test/extensions/wasm/test_data/missing_cpp.wat +++ b/test/extensions/wasm/test_data/missing_cpp.wat @@ -101,10 +101,12 @@ global.set $18 ) - (func $_proxy_onStart (type $9) + (func $_proxy_onStart (type $3) (param $0 i32) (param $1 i32) (param $2 i32) + (param $3 i32) + (param $4 i32) call $_missing ) diff --git a/test/extensions/wasm/test_data/segv_cpp.cc b/test/extensions/wasm/test_data/segv_cpp.cc index e0e9afc6466c..8bca9f686e13 100644 --- a/test/extensions/wasm/test_data/segv_cpp.cc +++ b/test/extensions/wasm/test_data/segv_cpp.cc @@ -5,7 +5,8 @@ static int* badptr = nullptr; -extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t) { +extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t, uint32_t, + uint32_t) { logError("before badptr"); *badptr = 1; logError("after badptr"); diff --git a/test/extensions/wasm/test_data/segv_cpp.wasm b/test/extensions/wasm/test_data/segv_cpp.wasm index ab04e795f510..5904ab8cf365 100644 Binary files a/test/extensions/wasm/test_data/segv_cpp.wasm and b/test/extensions/wasm/test_data/segv_cpp.wasm differ diff --git a/test/extensions/wasm/test_data/segv_cpp.wat b/test/extensions/wasm/test_data/segv_cpp.wat index 7696ec1bf098..735020fe7333 100644 --- a/test/extensions/wasm/test_data/segv_cpp.wat +++ b/test/extensions/wasm/test_data/segv_cpp.wat @@ -150,10 +150,12 @@ global.set $23 ) - (func $_proxy_onStart (type $10) + (func $_proxy_onStart (type $6) (param $0 i32) (param $1 i32) (param $2 i32) + (param $3 i32) + (param $4 i32) global.get $22 local.set $0 global.get $22 diff --git a/test/extensions/wasm/test_data/stats_cpp.cc b/test/extensions/wasm/test_data/stats_cpp.cc index a15f5ef50f53..fb2106244f7e 100644 --- a/test/extensions/wasm/test_data/stats_cpp.cc +++ b/test/extensions/wasm/test_data/stats_cpp.cc @@ -4,7 +4,8 @@ #include "proxy_wasm_intrinsics.h" // Test the low level interface. -extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t) { +extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart(uint32_t, uint32_t, uint32_t, uint32_t, + uint32_t) { auto c = defineMetric(MetricType::Counter, "test_counter"); auto g = defineMetric(MetricType::Gauge, "test_gauges"); auto h = defineMetric(MetricType::Histogram, "test_histogram"); diff --git a/test/extensions/wasm/test_data/stats_cpp.wasm b/test/extensions/wasm/test_data/stats_cpp.wasm index aac31f8224b7..27e9f275f929 100644 Binary files a/test/extensions/wasm/test_data/stats_cpp.wasm and b/test/extensions/wasm/test_data/stats_cpp.wasm differ diff --git a/test/extensions/wasm/test_data/stats_cpp.wat b/test/extensions/wasm/test_data/stats_cpp.wat index 1da3d98af1a4..9452ee484a28 100644 --- a/test/extensions/wasm/test_data/stats_cpp.wat +++ b/test/extensions/wasm/test_data/stats_cpp.wat @@ -178,12 +178,12 @@ global.set $30 ) - (func $_proxy_onStart (type $9) + (func $_proxy_onStart (type $6) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (param $3 i32) + (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -205,7 +205,7 @@ i32.const 2524 i32.const 12 call $_proxy_defineMetric - local.set $4 + local.set $3 i32.const 1 i32.const 2537 i32.const 11 @@ -216,7 +216,7 @@ i32.const 14 call $_proxy_defineMetric local.set $7 - local.get $4 + local.get $3 i64.const 1 call $_proxy_incrementMetric local.get $6 @@ -228,7 +228,7 @@ local.get $2 i32.const 16 call $__Znwm - local.tee $3 + local.tee $4 i32.store local.get $2 i32.const -2147483632 @@ -236,23 +236,23 @@ local.get $2 i32.const 14 i32.store offset=4 - local.get $3 + local.get $4 i32.const 2564 i64.load align=1 i64.store align=1 - local.get $3 + local.get $4 i32.const 2572 i32.load align=1 i32.store offset=8 align=1 - local.get $3 + local.get $4 i32.const 2576 i32.load16_s align=1 i32.store16 offset=12 align=1 - local.get $3 + local.get $4 i32.const 0 i32.store8 offset=14 local.get $0 - local.get $4 + local.get $3 call $_proxy_getMetric call $__ZNSt3__29to_stringEy local.get $1 @@ -262,30 +262,30 @@ local.get $0 local.get $0 i32.load8_s offset=11 - local.tee $3 + local.tee $4 i32.const 0 i32.lt_s local.tee $5 select local.get $0 i32.load offset=4 - local.get $3 + local.get $4 i32.const 255 i32.and local.get $5 select call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm - local.tee $3 + local.tee $4 i64.load align=4 i64.store align=4 local.get $1 - local.get $3 + local.get $4 i32.load offset=8 i32.store offset=8 - local.get $3 + local.get $4 i64.const 0 i64.store align=4 - local.get $3 + local.get $4 i32.const 0 i32.store offset=8 i32.const 0 @@ -294,14 +294,14 @@ local.get $1 local.get $1 i32.load8_s offset=11 - local.tee $3 + local.tee $4 i32.const 0 i32.lt_s local.tee $5 select local.get $1 i32.load offset=4 - local.get $3 + local.get $4 i32.const 255 i32.and local.get $5 @@ -334,13 +334,13 @@ i32.load call $_free end ;; $if_1 - local.get $4 + local.get $3 i64.const 1 call $_proxy_incrementMetric local.get $2 i32.const 16 call $__Znwm - local.tee $3 + local.tee $4 i32.store local.get $2 i32.const -2147483632 @@ -348,23 +348,23 @@ local.get $2 i32.const 14 i32.store offset=4 - local.get $3 + local.get $4 i32.const 2564 i64.load align=1 i64.store align=1 - local.get $3 + local.get $4 i32.const 2572 i32.load align=1 i32.store offset=8 align=1 - local.get $3 + local.get $4 i32.const 2576 i32.load16_s align=1 i32.store16 offset=12 align=1 - local.get $3 + local.get $4 i32.const 0 i32.store8 offset=14 local.get $0 - local.get $4 + local.get $3 call $_proxy_getMetric call $__ZNSt3__29to_stringEy local.get $1 @@ -374,30 +374,30 @@ local.get $0 local.get $0 i32.load8_s offset=11 - local.tee $3 + local.tee $4 i32.const 0 i32.lt_s local.tee $5 select local.get $0 i32.load offset=4 - local.get $3 + local.get $4 i32.const 255 i32.and local.get $5 select call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm - local.tee $3 + local.tee $4 i64.load align=4 i64.store align=4 local.get $1 - local.get $3 + local.get $4 i32.load offset=8 i32.store offset=8 - local.get $3 + local.get $4 i64.const 0 i64.store align=4 - local.get $3 + local.get $4 i32.const 0 i32.store offset=8 i32.const 1 @@ -406,14 +406,14 @@ local.get $1 local.get $1 i32.load8_s offset=11 - local.tee $3 + local.tee $4 i32.const 0 i32.lt_s local.tee $5 select local.get $1 i32.load offset=4 - local.get $3 + local.get $4 i32.const 255 i32.and local.get $5 @@ -446,13 +446,13 @@ i32.load call $_free end ;; $if_4 - local.get $4 + local.get $3 i64.const 3 call $_proxy_recordMetric local.get $2 i32.const 16 call $__Znwm - local.tee $3 + local.tee $4 i32.store local.get $2 i32.const -2147483632 @@ -460,23 +460,23 @@ local.get $2 i32.const 14 i32.store offset=4 - local.get $3 + local.get $4 i32.const 2564 i64.load align=1 i64.store align=1 - local.get $3 + local.get $4 i32.const 2572 i32.load align=1 i32.store offset=8 align=1 - local.get $3 + local.get $4 i32.const 2576 i32.load16_s align=1 i32.store16 offset=12 align=1 - local.get $3 + local.get $4 i32.const 0 i32.store8 offset=14 local.get $0 - local.get $4 + local.get $3 call $_proxy_getMetric call $__ZNSt3__29to_stringEy local.get $1 @@ -486,30 +486,30 @@ local.get $0 local.get $0 i32.load8_s offset=11 - local.tee $4 + local.tee $3 i32.const 0 i32.lt_s - local.tee $3 + local.tee $4 select local.get $0 i32.load offset=4 - local.get $4 + local.get $3 i32.const 255 i32.and - local.get $3 + local.get $4 select call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm - local.tee $4 + local.tee $3 i64.load align=4 i64.store align=4 local.get $1 - local.get $4 + local.get $3 i32.load offset=8 i32.store offset=8 - local.get $4 + local.get $3 i64.const 0 i64.store align=4 - local.get $4 + local.get $3 i32.const 0 i32.store offset=8 i32.const 2 @@ -518,17 +518,17 @@ local.get $1 local.get $1 i32.load8_s offset=11 - local.tee $4 + local.tee $3 i32.const 0 i32.lt_s - local.tee $3 + local.tee $4 select local.get $1 i32.load offset=4 - local.get $4 + local.get $3 i32.const 255 i32.and - local.get $3 + local.get $4 select call $_proxy_log local.get $1 @@ -561,7 +561,7 @@ local.get $2 i32.const 16 call $__Znwm - local.tee $4 + local.tee $3 i32.store local.get $2 i32.const -2147483632 @@ -569,15 +569,15 @@ local.get $2 i32.const 12 i32.store offset=4 - local.get $4 + local.get $3 i32.const 2579 i64.load align=1 i64.store align=1 - local.get $4 + local.get $3 i32.const 2587 i32.load align=1 i32.store offset=8 align=1 - local.get $4 + local.get $3 i32.const 0 i32.store8 offset=12 local.get $0 @@ -591,30 +591,30 @@ local.get $0 local.get $0 i32.load8_s offset=11 - local.tee $4 + local.tee $3 i32.const 0 i32.lt_s - local.tee $3 + local.tee $4 select local.get $0 i32.load offset=4 - local.get $4 + local.get $3 i32.const 255 i32.and - local.get $3 + local.get $4 select call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm - local.tee $4 + local.tee $3 i64.load align=4 i64.store align=4 local.get $1 - local.get $4 + local.get $3 i32.load offset=8 i32.store offset=8 - local.get $4 + local.get $3 i64.const 0 i64.store align=4 - local.get $4 + local.get $3 i32.const 0 i32.store offset=8 i32.const 3 @@ -623,17 +623,17 @@ local.get $1 local.get $1 i32.load8_s offset=11 - local.tee $4 + local.tee $3 i32.const 0 i32.lt_s - local.tee $3 + local.tee $4 select local.get $1 i32.load offset=4 - local.get $4 + local.get $3 i32.const 255 i32.and - local.get $3 + local.get $4 select call $_proxy_log local.get $1 @@ -666,7 +666,7 @@ local.get $2 i32.const 32 call $__Znwm - local.tee $4 + local.tee $3 i32.store local.get $2 i32.const -2147483616 @@ -674,15 +674,15 @@ local.get $2 i32.const 16 i32.store offset=4 - local.get $4 + local.get $3 i32.const 2592 i64.load align=1 i64.store align=1 - local.get $4 + local.get $3 i32.const 2600 i64.load align=1 i64.store offset=8 align=1 - local.get $4 + local.get $3 i32.const 0 i32.store8 offset=16 local.get $0 @@ -696,30 +696,30 @@ local.get $0 local.get $0 i32.load8_s offset=11 - local.tee $4 + local.tee $3 i32.const 0 i32.lt_s - local.tee $3 + local.tee $4 select local.get $0 i32.load offset=4 - local.get $4 + local.get $3 i32.const 255 i32.and - local.get $3 + local.get $4 select call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm - local.tee $4 + local.tee $3 i64.load align=4 i64.store align=4 local.get $1 - local.get $4 + local.get $3 i32.load offset=8 i32.store offset=8 - local.get $4 + local.get $3 i64.const 0 i64.store align=4 - local.get $4 + local.get $3 i32.const 0 i32.store offset=8 i32.const 4 @@ -728,17 +728,17 @@ local.get $1 local.get $1 i32.load8_s offset=11 - local.tee $4 + local.tee $3 i32.const 0 i32.lt_s - local.tee $3 + local.tee $4 select local.get $1 i32.load offset=4 - local.get $4 + local.get $3 i32.const 255 i32.and - local.get $3 + local.get $4 select call $_proxy_log local.get $1