diff options
author | Simon Marlow <marlowsd@gmail.com> | 2011-11-04 16:02:17 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2011-11-07 09:17:33 +0000 |
commit | 630b89551b14324fb1bfea853be700d8f32106c2 (patch) | |
tree | eda0cecc7062ce3ff12905099d12920c3eeb8257 /compiler/profiling | |
parent | 1ece7b27a11c6947f0ae3a11703e22b7065a6b6c (diff) | |
download | haskell-630b89551b14324fb1bfea853be700d8f32106c2.tar.gz |
Cost centre names are now in UTF-8 (#5559)
So the .prof file will be UTF-8. This is mostly ok, except that the
RTS doesn't calculate the column widths correctly (it assumes bytes =
chars).
hp2ps doesn't do anything sensible with Unicode strings, it just dumps
the bytes into the .ps file.
Diffstat (limited to 'compiler/profiling')
-rw-r--r-- | compiler/profiling/CostCentre.lhs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/compiler/profiling/CostCentre.lhs b/compiler/profiling/CostCentre.lhs index 9545b2eb89..2a44121dfd 100644 --- a/compiler/profiling/CostCentre.lhs +++ b/compiler/profiling/CostCentre.lhs @@ -24,7 +24,7 @@ module CostCentre ( isCafCCS, isCafCC, isSccCountCC, sccAbleCC, ccFromThisModule, pprCostCentreCore, - costCentreUserName, + costCentreUserName, costCentreUserNameFS, cmpCostCentre -- used for removing dups in a list ) where @@ -280,9 +280,13 @@ ppCostCentreLbl (NormalCC {cc_name = n, cc_mod = m, cc_is_caf = is_caf}) -- This is the name to go in the user-displayed string, -- recorded in the cost centre declaration costCentreUserName :: CostCentre -> String -costCentreUserName (NoCostCentre) = "NO_CC" -costCentreUserName (AllCafsCC {}) = "CAF" -costCentreUserName (NormalCC {cc_name = name, cc_is_caf = is_caf}) - = case is_caf of { CafCC -> "CAF:"; _ -> "" } ++ unpackFS name - +costCentreUserName = unpackFS . costCentreUserNameFS + +costCentreUserNameFS :: CostCentre -> FastString +costCentreUserNameFS (NoCostCentre) = mkFastString "NO_CC" +costCentreUserNameFS (AllCafsCC {}) = mkFastString "CAF" +costCentreUserNameFS (NormalCC {cc_name = name, cc_is_caf = is_caf}) + = case is_caf of + CafCC -> mkFastString "CAF:" `appendFS` name + _ -> name \end{code} |