From 4ecd9be6880d4dc18dfeb052d39c105cbf142e9c Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Fri, 11 Feb 2022 09:48:51 -0800 Subject: [PATCH 1/2] Store the result in the return local in native-to-managed IL stubs. --- src/mono/mono/metadata/marshal-ilgen.c | 52 ++++++++++++++------------ 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/src/mono/mono/metadata/marshal-ilgen.c b/src/mono/mono/metadata/marshal-ilgen.c index 8061e75fc778ea..208ad190b3e968 100644 --- a/src/mono/mono/metadata/marshal-ilgen.c +++ b/src/mono/mono/metadata/marshal-ilgen.c @@ -8,45 +8,45 @@ #include #endif -#include "metadata/method-builder-ilgen.h" -#include "metadata/method-builder-ilgen-internals.h" -#include "object.h" -#include "loader.h" #include "cil-coff.h" -#include "metadata/marshal.h" -#include "metadata/marshal-internals.h" +#include "icall-decl.h" +#include "loader.h" +#include "metadata/appdomain.h" +#include "metadata/exception.h" #include "metadata/marshal-ilgen.h" +#include "metadata/marshal-internals.h" +#include "metadata/marshal.h" +#include "metadata/method-builder-ilgen-internals.h" +#include "metadata/method-builder-ilgen.h" #include "metadata/tabledefs.h" -#include "metadata/exception.h" -#include "metadata/appdomain.h" #include "mono/metadata/abi-details.h" +#include "mono/metadata/attrdefs.h" #include "mono/metadata/class-abi-details.h" #include "mono/metadata/class-init.h" -#include "mono/metadata/debug-helpers.h" -#include "mono/metadata/threads.h" -#include "mono/metadata/monitor.h" #include "mono/metadata/class-internals.h" -#include "mono/metadata/metadata-internals.h" +#include "mono/metadata/cominterop.h" +#include "mono/metadata/custom-attrs-internals.h" +#include "mono/metadata/debug-helpers.h" #include "mono/metadata/domain-internals.h" #include "mono/metadata/gc-internals.h" -#include "mono/metadata/threads-types.h" -#include "mono/metadata/string-icalls.h" -#include "mono/metadata/attrdefs.h" -#include "mono/metadata/cominterop.h" -#include "mono/metadata/reflection-internals.h" #include "mono/metadata/handle.h" -#include "mono/metadata/custom-attrs-internals.h" #include "mono/metadata/icall-internals.h" +#include "mono/metadata/metadata-internals.h" +#include "mono/metadata/monitor.h" +#include "mono/metadata/reflection-internals.h" +#include "mono/metadata/string-icalls.h" +#include "mono/metadata/threads-types.h" +#include "mono/metadata/threads.h" +#include "mono/utils/atomic.h" #include "mono/utils/mono-counters.h" -#include "mono/utils/mono-tls.h" #include "mono/utils/mono-memory-model.h" -#include "mono/utils/atomic.h" -#include -#include +#include "mono/utils/mono-tls.h" +#include "object.h" +#include #include +#include +#include #include -#include -#include "icall-decl.h" #define OPDEF(a,b,c,d,e,f,g,h,i,j) \ a = i, @@ -3224,6 +3224,10 @@ emit_marshal_scalar_ilgen (EmitMarshalContext *m, int argnum, MonoType *t, mono_mb_emit_stloc (mb, 3); break; + case MARSHAL_ACTION_MANAGED_CONV_RESULT: + mono_mb_emit_stloc (mb, 3); + break; + default: break; } From ca074f031bfb1ec38148fd506ccce04b3f52b99a Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Fri, 11 Feb 2022 11:52:38 -0800 Subject: [PATCH 2/2] Unformat includes --- src/mono/mono/metadata/marshal-ilgen.c | 48 +++++++++++++------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/src/mono/mono/metadata/marshal-ilgen.c b/src/mono/mono/metadata/marshal-ilgen.c index 208ad190b3e968..3c57d59e754bd3 100644 --- a/src/mono/mono/metadata/marshal-ilgen.c +++ b/src/mono/mono/metadata/marshal-ilgen.c @@ -8,45 +8,45 @@ #include #endif -#include "cil-coff.h" -#include "icall-decl.h" +#include "metadata/method-builder-ilgen.h" +#include "metadata/method-builder-ilgen-internals.h" +#include "object.h" #include "loader.h" -#include "metadata/appdomain.h" -#include "metadata/exception.h" -#include "metadata/marshal-ilgen.h" -#include "metadata/marshal-internals.h" +#include "cil-coff.h" #include "metadata/marshal.h" -#include "metadata/method-builder-ilgen-internals.h" -#include "metadata/method-builder-ilgen.h" +#include "metadata/marshal-internals.h" +#include "metadata/marshal-ilgen.h" #include "metadata/tabledefs.h" +#include "metadata/exception.h" +#include "metadata/appdomain.h" #include "mono/metadata/abi-details.h" -#include "mono/metadata/attrdefs.h" #include "mono/metadata/class-abi-details.h" #include "mono/metadata/class-init.h" -#include "mono/metadata/class-internals.h" -#include "mono/metadata/cominterop.h" -#include "mono/metadata/custom-attrs-internals.h" #include "mono/metadata/debug-helpers.h" +#include "mono/metadata/threads.h" +#include "mono/metadata/monitor.h" +#include "mono/metadata/class-internals.h" +#include "mono/metadata/metadata-internals.h" #include "mono/metadata/domain-internals.h" #include "mono/metadata/gc-internals.h" +#include "mono/metadata/threads-types.h" +#include "mono/metadata/string-icalls.h" +#include "mono/metadata/attrdefs.h" +#include "mono/metadata/cominterop.h" +#include "mono/metadata/reflection-internals.h" #include "mono/metadata/handle.h" +#include "mono/metadata/custom-attrs-internals.h" #include "mono/metadata/icall-internals.h" -#include "mono/metadata/metadata-internals.h" -#include "mono/metadata/monitor.h" -#include "mono/metadata/reflection-internals.h" -#include "mono/metadata/string-icalls.h" -#include "mono/metadata/threads-types.h" -#include "mono/metadata/threads.h" -#include "mono/utils/atomic.h" #include "mono/utils/mono-counters.h" -#include "mono/utils/mono-memory-model.h" #include "mono/utils/mono-tls.h" -#include "object.h" -#include -#include -#include +#include "mono/utils/mono-memory-model.h" +#include "mono/utils/atomic.h" #include +#include +#include #include +#include +#include "icall-decl.h" #define OPDEF(a,b,c,d,e,f,g,h,i,j) \ a = i,