diff --git a/src/coreclr/jit/gentree.h b/src/coreclr/jit/gentree.h index b66874618c106b..be9cab8591dc89 100644 --- a/src/coreclr/jit/gentree.h +++ b/src/coreclr/jit/gentree.h @@ -1222,6 +1222,12 @@ struct GenTree bool IsNotGcDef() const { + // A non-GC typed value (eg native int reinterpreted as byref) cannot designate a movable object. + if (!varTypeIsGC(TypeGet())) + { + return true; + } + if (IsIntegralConst(0) || OperIs(GT_LCL_ADDR, GT_LCLHEAP)) { return true;