Optimize pprASCII
authorSylvain Henry <sylvain@haskus.fr>
Thu, 17 Jan 2019 23:01:45 +0000 (00:01 +0100)
committerBen Gamari <ben@smart-cactus.org>
Thu, 31 Jan 2019 17:46:51 +0000 (12:46 -0500)
commitd887f3749c4c9c0f30fb9805cf8953efbcd44b82
treee79085c0621556c26b18fe0fb017fe0e28519bbf
parent4fa32293c9d2658ce504b8fe6d909db2acf59983
Optimize pprASCII

* Use `ByteString.foldr` instead of `(List.foldr . BS.unpack)`
* Avoid calling `chr` and its test that checks for invalid Unicode
codepoints: we stay in the ASCII range so we know we're ok
* Avoid calling `isPrint` (unsafe FFI call): we can check the ASCII
printable range directly
* Use bit operations (`unsafeShiftR`, `.&.`) instead of `div` and `mod`
compiler/nativeGen/PprBase.hs