From 39fa6df13a6d15c8b32b3a4c94746f3a03a01792 Mon Sep 17 00:00:00 2001 From: Filip Navara Date: Wed, 23 Oct 2019 11:53:06 +0200 Subject: [PATCH] [netcore] Add Unsafe.SkipInit intrinsic Commit migrated from https://github.com/mono/mono/commit/e29f8e32b77e29ec314c0e509e1d1aef9d286285 --- src/mono/mono/mini/interp/transform.c | 2 ++ src/mono/mono/mini/intrinsics.c | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/src/mono/mono/mini/interp/transform.c b/src/mono/mono/mini/interp/transform.c index f767e09..7779a1aa 100644 --- a/src/mono/mono/mini/interp/transform.c +++ b/src/mono/mono/mini/interp/transform.c @@ -1648,6 +1648,8 @@ interp_handle_intrinsics (TransformData *td, MonoMethod *target_method, MonoClas return TRUE; } else if (!strcmp (tm, "AreSame")) { *op = MINT_CEQ_P; + } else if (!strcmp (tm, "SkipInit")) { + *op = MINT_POP; } #endif } else if (in_corlib && !strcmp (klass_name_space, "System.Runtime.CompilerServices") && !strcmp (klass_name, "RuntimeHelpers")) { diff --git a/src/mono/mono/mini/intrinsics.c b/src/mono/mono/mini/intrinsics.c index b42b92f..297711d 100644 --- a/src/mono/mono/mini/intrinsics.c +++ b/src/mono/mono/mini/intrinsics.c @@ -575,6 +575,11 @@ emit_unsafe_intrinsics (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSignatu MONO_ADD_INS (cfg->cbb, ins); return ins; } + else if (!strcmp (cmethod->name, "SkipInit")) { + MONO_INST_NEW (cfg, ins, OP_NOP); + MONO_ADD_INS (cfg->cbb, ins); + return ins; + } #endif return NULL; -- 2.7.4