diff options
author | Norman Ramsey <nr@eecs.harvard.edu> | 2007-09-07 16:12:46 +0000 |
---|---|---|
committer | Norman Ramsey <nr@eecs.harvard.edu> | 2007-09-07 16:12:46 +0000 |
commit | fd8d04119e849f9c713d3e697228846d93c5ca69 (patch) | |
tree | 094174348479d042f50a4c85906e9ce8c3b62f88 /compiler/codeGen/CgForeignCall.hs | |
parent | 5f0eea10d6a29f3b2a3faf112279a3c98679c9f8 (diff) | |
download | haskell-fd8d04119e849f9c713d3e697228846d93c5ca69.tar.gz |
a good deal of salutory renaming
I've renamed a number of type and data constructors within Cmm so that
the names used in the compiler may more closely reflect the C--
specification 2.1. I've done a bit of other renaming as well.
Highlights:
CmmFormal and CmmActual now bear a CmmKind (which for now is a
MachHint as before)
CmmFormals = [CmmFormal] and CmmActuals = [CmmActual]
suitable changes have been made to both code and nonterminals in the
Cmm parser (which is as yet untested)
For reasons I don't understand, parts of the code generator use a
sequence of 'formal parameters' with no C-- kinds. For these we now
have the types
type CmmFormalWithoutKind = LocalReg
type CmmFormalsWithoutKinds = [CmmFormalWithoutKind]
A great many appearances of (Tau, MachHint) have been simplified to
the appropriate CmmFormal or CmmActual, though I'm sure there are
more opportunities.
Kind and its data constructors are now renamed to
data GCKind = GCKindPtr | GCKindNonPtr
to avoid confusion with the Kind used in the type checker and with CmmKind.
Finally, in a somewhat unrelated bit (and in honor of Simon PJ, who
thought of the name), the Whalley/Davidson 'transaction limit' is now
called 'OptimizationFuel' with the net effect that there are no longer
two unrelated uses of the abbreviation 'tx'.
Diffstat (limited to 'compiler/codeGen/CgForeignCall.hs')
-rw-r--r-- | compiler/codeGen/CgForeignCall.hs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/codeGen/CgForeignCall.hs b/compiler/codeGen/CgForeignCall.hs index 3f83cf79ea..77f6044151 100644 --- a/compiler/codeGen/CgForeignCall.hs +++ b/compiler/codeGen/CgForeignCall.hs @@ -50,7 +50,7 @@ import Control.Monad -- Code generation for Foreign Calls cgForeignCall - :: CmmHintFormals -- where to put the results + :: CmmFormals -- where to put the results -> ForeignCall -- the op -> [StgArg] -- arguments -> StgLiveVars -- live vars, in case we need to save them @@ -70,7 +70,7 @@ cgForeignCall results fcall stg_args live emitForeignCall - :: CmmHintFormals -- where to put the results + :: CmmFormals -- where to put the results -> ForeignCall -- the op -> [(CmmExpr,MachHint)] -- arguments -> StgLiveVars -- live vars, in case we need to save them @@ -106,7 +106,7 @@ emitForeignCall _ (DNCall _) _ _ -- alternative entry point, used by CmmParse emitForeignCall' :: Safety - -> CmmHintFormals -- where to put the results + -> CmmFormals -- where to put the results -> CmmCallTarget -- the op -> [(CmmExpr,MachHint)] -- arguments -> Maybe [GlobalReg] -- live vars, in case we need to save them @@ -122,7 +122,7 @@ emitForeignCall' safety results target args vols srt ret stmtsC caller_load | otherwise = do - -- Both 'id' and 'new_base' are KindNonPtr because they're + -- Both 'id' and 'new_base' are GCKindNonPtr because they're -- RTS only objects and are not subject to garbage collection id <- newNonPtrTemp wordRep new_base <- newNonPtrTemp (cmmRegRep (CmmGlobal BaseReg)) |