@@ -389,7 +389,7 @@ c_irts (FArith (ATInt (ITFixed ity))) l x
389389c_irts FString l x = l ++ "MKSTR(vm, " ++ x ++ ")"
390390c_irts FUnit l x = x
391391c_irts FPtr l x = l ++ "MKPTR(vm, " ++ x ++ ")"
392−c_irts FManagedPtr l x = l ++ "MKMPTR(vm, " ++ x ++ ")"
392+c_irts FManagedPtr l x = l ++ x
393393c_irts (FArith ATFloat) l x = l ++ "MKFLOAT(vm, " ++ x ++ ")"
394394c_irts FCData l x = l ++ "MKCDATA(vm, " ++ x ++ ")"
395395c_irts FAny l x = l ++ x
@@ -644,6 +644,7 @@ doOp v (LExternal se) [] | se == sUN "prim__stderr" = v ++ "MKPTR(vm, stderr)"
644644
645645doOp v (LExternal vm) [_] | vm == sUN "prim__vm" = v ++ "MKPTR(vm, vm)"
646646doOp v (LExternal nul) [] | nul == sUN "prim__null" = v ++ "MKPTR(vm, NULL)"
647+doOp v (LExternal nul) [] | nul == sUN "prim__managedNull" = v ++ "MKPTR(vm, NULL)"
647648doOp v (LExternal eqp) [x, y] | eqp == sUN "prim__eqPtr"
648649 = v ++ "MKINT((i_int)(GETPTR(" ++ creg x ++ ") == GETPTR(" ++ creg y ++ ")))"
649650doOp v (LExternal eqp) [x, y] | eqp == sUN "prim__eqManagedPtr"