diff options
author | Austin Seipp <austin@well-typed.com> | 2013-10-25 22:33:52 -0500 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2013-10-26 11:08:52 -0500 |
commit | fb1d2cc9f18f3515379a5e329f8da3bd919a91d4 (patch) | |
tree | 22e8fd2026518925ba2f7677f37523b4ea18a94f /compiler/codeGen | |
parent | e734c18969de4e41aef6671822c164ee039291d7 (diff) | |
download | haskell-fb1d2cc9f18f3515379a5e329f8da3bd919a91d4.tar.gz |
Revert "comments"
This reverts commit 9026c77a07533bda3773c3c3f3df1c6592bc80c7.
Diffstat (limited to 'compiler/codeGen')
-rw-r--r-- | compiler/codeGen/StgCmmLayout.hs | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/compiler/codeGen/StgCmmLayout.hs b/compiler/codeGen/StgCmmLayout.hs index 2153430ac5..84736429bc 100644 --- a/compiler/codeGen/StgCmmLayout.hs +++ b/compiler/codeGen/StgCmmLayout.hs @@ -188,7 +188,6 @@ slowCall fun stg_args " with pat " ++ unpackFS rts_fun) return r - -- Note [avoid intermediate PAPs] let n_args = length stg_args if n_args > arity && optLevel dflags >= 2 then do @@ -225,32 +224,6 @@ slowCall fun stg_args return r --- Note [avoid intermediate PAPs] --- --- A slow call which needs multiple generic apply patterns will be --- almost guaranteed to create one or more intermediate PAPs when --- applied to a function that takes the correct number of arguments. --- We try to avoid this situation by generating code to test whether --- we are calling a function with the correct number of arguments --- first, i.e.: --- --- if (TAG(f) != 0} { // f is not a thunk --- if (f->info.arity == n) { --- ... make a fast call to f ... --- } --- } --- ... otherwise make the slow call ... --- --- We *only* do this when the call requires multiple generic apply --- functions, which requires pushing extra stack frames and probably --- results in intermediate PAPs. (I say probably, because it might be --- that we're over-applying a function, but that seems even less --- likely). --- --- This very rarely applies, but if it does happen in an inner loop it --- can have a severe impact on performance (#6084). - - -------------- direct_call :: String -> Convention -- e.g. NativeNodeCall or NativeDirectCall |