These instructions will tell you how to build 8.10.2 with the -hi
, -finfo-table-map
and -fdistinct-constructor-tables
patch
backported.
GHC Branch: https://gitlab.haskell.org/mpickering/ghc/-/commits/ghc-con-info-backport
mkdir _build
, Copy thehadrian.settings
file into_build
.git submodule update --init
perl boot
./configure
./hadrian/build.cabal.sh -j4
You will now have an instrumented version of GHC which has support for the -hi
mode, -finfo-table-map
and -fdistinct-constructor-tables
flags.
- Modify the
cabal.project
file in thepackage *
stanza to build dependencies with-finfo-table-map
and-fdistinct-constructor-tables
. - Modify
graphql-engine.cabal
by adding-eventlog
toghc-options
. - Remove specific
8.10.2
bounds fromcabal.project.freeze
. - Modify
RUN_INVOCATION
to pass-hi -l-au
- Start server normally, the resulting eventlog ends up in the
server/
directory.
If you wish to view the profile, use eventlog2html
. This is still very rough so it might not be so easy to understand what's going on.
https://github.com/mpickering/eventlog2html/tree/wip/profile-info-table
After adding your fork as a remote (
git remote add mpickering https://gitlab.haskell.org/mpickering/ghc
), I was able to merge this branch into ghc's8.10
branch and build successfully. Thanks for the great work!