Compiling with -type-check true was previously throwing an error for RSSA type checking. The problem was a mismatch between word sizes in the generated code for read barrier fast paths. The generated code used WordSize.shiftArg for a mask on an object header. This just needed to be changed to WordSize.objptrHeader().
Compiling with
-type-check true
was previously throwing an error for RSSA type checking. The problem was a mismatch between word sizes in the generated code for read barrier fast paths. The generated code usedWordSize.shiftArg
for a mask on an object header. This just needed to be changed toWordSize.objptrHeader()
.I cleaned up the code a little, too.