diff --git a/src/coreclr/tools/Common/TypeSystem/Interop/IL/Marshaller.cs b/src/coreclr/tools/Common/TypeSystem/Interop/IL/Marshaller.cs index f78e4df8a29e7f..404f6559512fee 100644 --- a/src/coreclr/tools/Common/TypeSystem/Interop/IL/Marshaller.cs +++ b/src/coreclr/tools/Common/TypeSystem/Interop/IL/Marshaller.cs @@ -1483,8 +1483,12 @@ internal override bool CleanupRequired internal override void EmitElementCleanup(ILCodeStream codeStream, ILEmitter emitter) { +#if READYTORUN + throw new NotSupportedException(); +#else codeStream.Emit(ILOpcode.call, emitter.NewToken( Context.GetHelperEntryPoint("InteropHelpers", "CoTaskMemFree"))); +#endif } protected override void TransformManagedToNative(ILCodeStream codeStream) @@ -1536,12 +1540,16 @@ protected override void TransformManagedToNative(ILCodeStream codeStream) } else { +#if READYTORUN + throw new NotSupportedException(); +#else var helper = Context.GetHelperEntryPoint("InteropHelpers", "StringToUnicodeBuffer"); LoadManagedValue(codeStream); codeStream.Emit(ILOpcode.call, emitter.NewToken(helper)); StoreNativeValue(codeStream); +#endif } } @@ -1597,8 +1605,12 @@ internal override bool CleanupRequired internal override void EmitElementCleanup(ILCodeStream codeStream, ILEmitter emitter) { +#if READYTORUN + throw new NotSupportedException(); +#else codeStream.Emit(ILOpcode.call, emitter.NewToken( Context.GetHelperEntryPoint("InteropHelpers", "CoTaskMemFree"))); +#endif } protected override void TransformManagedToNative(ILCodeStream codeStream) @@ -1752,6 +1764,7 @@ protected override void EmitCleanupManaged(ILCodeStream codeStream) } } +#if !READYTORUN class UTF8StringMarshaller : Marshaller { internal override bool CleanupRequired @@ -1806,6 +1819,7 @@ protected override void EmitCleanupManaged(ILCodeStream codeStream) codeStream.EmitLabel(lNullCheck); } } +#endif class SafeHandleMarshaller : Marshaller { diff --git a/src/coreclr/tools/aot/ILCompiler.ReadyToRun/Interop/IL/Marshaller.ReadyToRun.cs b/src/coreclr/tools/aot/ILCompiler.ReadyToRun/Interop/IL/Marshaller.ReadyToRun.cs index 636c698e8d5899..7da42e09791fda 100644 --- a/src/coreclr/tools/aot/ILCompiler.ReadyToRun/Interop/IL/Marshaller.ReadyToRun.cs +++ b/src/coreclr/tools/aot/ILCompiler.ReadyToRun/Interop/IL/Marshaller.ReadyToRun.cs @@ -25,8 +25,6 @@ protected static Marshaller CreateMarshaller(MarshallerKind kind) return new BooleanMarshaller(); case MarshallerKind.AnsiString: return new AnsiStringMarshaller(); - case MarshallerKind.UTF8String: - return new UTF8StringMarshaller(); case MarshallerKind.SafeHandle: return new SafeHandleMarshaller(); case MarshallerKind.UnicodeString: