summaryrefslogtreecommitdiff
path: root/includes/rts
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2017-08-16 19:01:05 -0400
committerBen Gamari <ben@smart-cactus.org>2017-08-16 19:02:28 -0400
commita8da0de27e600211f04601ac737c329d6603c700 (patch)
tree26d759439b11dab3925d9c4723a5c76054f1dacc /includes/rts
parent6e9c8eb9885f894eed7e01a074ee7d83b251b1b1 (diff)
downloadhaskell-a8da0de27e600211f04601ac737c329d6603c700.tar.gz
Speed up compilation of profiling stubs
Here we encode the cost centre list as static data. This means that the initialization stubs are small functions which should be easy for GCC to compile, even with optimization. Fixes #7960. Test Plan: Test profiling Reviewers: austin, erikd, simonmar Reviewed By: simonmar Subscribers: rwbarton, thomie GHC Trac Issues: #7960 Differential Revision: https://phabricator.haskell.org/D3853
Diffstat (limited to 'includes/rts')
-rw-r--r--includes/rts/Profiling.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/includes/rts/Profiling.h b/includes/rts/Profiling.h
new file mode 100644
index 0000000000..f1dafb78f5
--- /dev/null
+++ b/includes/rts/Profiling.h
@@ -0,0 +1,17 @@
+/* -----------------------------------------------------------------------------
+ *
+ * (c) The GHC Team, 2017-2018
+ *
+ * Cost-centre profiling API
+ *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
+ * -------------------------------------------------------------------------- */
+
+#pragma once
+
+void registerCcList(CostCentre **cc_list);
+void registerCcsList(CostCentreStack **cc_list);