diff --git a/src/coreclr/jit/optimizer.cpp b/src/coreclr/jit/optimizer.cpp index a1ccf0717a9354..cfc66d241c0cdc 100644 --- a/src/coreclr/jit/optimizer.cpp +++ b/src/coreclr/jit/optimizer.cpp @@ -3161,6 +3161,12 @@ bool Compiler::optNarrowTree(GenTree* tree, var_types srct, var_types dstt, Valu case GT_CNS_INT: + // Do not narrow relocatable handle constants. + if (tree->AsIntCon()->ImmedValNeedsReloc(this)) + { + return false; + } + ssize_t ival; ival = tree->AsIntCon()->IconValue(); ssize_t imask;