summaryrefslogtreecommitdiff
path: root/rts/Printer.c
diff options
context:
space:
mode:
authorTamar Christina <tamar@zhox.com>2016-06-09 17:49:20 +0200
committerTamar Christina <tamar@zhox.com>2016-06-09 18:13:50 +0200
commitb020db2a841c397a02ec352f8b6dc110b38b927b (patch)
treeb39530b68d5e4a1637e3df3b4276d9e07c0e73ba /rts/Printer.c
parentc22ab1a6d72bc03a6c459d7b6991730b5b1d9b1f (diff)
downloadhaskell-b020db2a841c397a02ec352f8b6dc110b38b927b.tar.gz
Fix Ticky histogram on Windows
Summary: The histogram types are defined in `Ticky.c` as `StgInt` values. ``` EXTERN StgInt RET_NEW_hst[TICKY_BIN_COUNT] INIT({0}); EXTERN StgInt RET_OLD_hst[TICKY_BIN_COUNT] INIT({0}); EXTERN StgInt RET_UNBOXED_TUP_hst[TICKY_BIN_COUNT] INIT({0}); ``` which means they'll be `32-bits` on `x86` and `64-bits` on `x86_64`. However the `bumpHistogram` in `StgCmmTicky` is incrementing them as if they're a `cLong`. A long on Windows `x86_64` is `32-bit`. As such when then value for the `_hst_1` is being set what it's actually doing is setting the value of the high bits of the first entry. This ends up giving us `0b‭100000000000000000000000000000000‬` or `4294967296` as is displayed in the ticket on #8308. Since `StgInt` is defined using the `WORD` size. Just use that directly in `bumpHistogram`. Also since `cLong` is no longer used after this commit it will also be dropped. Test Plan: make TEST=T8308 Reviewers: mlen, jstolarek, bgamari, thomie, goldfire, simonmar, austin Reviewed By: bgamari, thomie Subscribers: #ghc_windows_task_force Differential Revision: https://phabricator.haskell.org/D2318 GHC Trac Issues: #8308
Diffstat (limited to 'rts/Printer.c')
0 files changed, 0 insertions, 0 deletions