diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-11-19 11:43:30 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2019-12-02 09:25:00 -0500 |
commit | c7c0e771ad75701edaec7e7d2c987e3ddf4d33e8 (patch) | |
tree | acf34199133f4430cd23cbe83148dac3e1cafb8a /utils | |
parent | 3a96a0b6db6a32457ae2f91bb711c2481c767656 (diff) | |
download | haskell-wip/T17424b.tar.gz |
Make BCO# liftedwip/T17424b
In #17424 Simon PJ noted that there is a potentially unsafe occurrence
of unsafeCoerce#, coercing from an unlifted to lifted type. However,
nowhere in the compiler do we assume that a BCO# is not a thunk.
Moreover, in the case of a CAF the result returned by `createBCO` *will*
be a thunk (as noted in [Updatable CAF BCOs]). Consequently it seems
better to rather make BCO# a lifted type and rename it to BCO.
Diffstat (limited to 'utils')
-rw-r--r-- | utils/genprimopcode/Main.hs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/utils/genprimopcode/Main.hs b/utils/genprimopcode/Main.hs index b99f36dad2..ef8e284593 100644 --- a/utils/genprimopcode/Main.hs +++ b/utils/genprimopcode/Main.hs @@ -857,7 +857,7 @@ ppType (TyApp (TyCon "ByteArray#") []) = "byteArrayPrimTy" ppType (TyApp (TyCon "RealWorld") []) = "realWorldTy" ppType (TyApp (TyCon "ThreadId#") []) = "threadIdPrimTy" ppType (TyApp (TyCon "ForeignObj#") []) = "foreignObjPrimTy" -ppType (TyApp (TyCon "BCO#") []) = "bcoPrimTy" +ppType (TyApp (TyCon "BCO") []) = "bcoPrimTy" ppType (TyApp (TyCon "Compact#") []) = "compactPrimTy" ppType (TyApp (TyCon "()") []) = "unitTy" -- unitTy is TysWiredIn's name for () |