GHCi supports not-necessarily-lifted join points

Fixes #16509.

See Note [Not-necessarily-lifted join points] in ByteCodeGen,
which tells the full story.

This commit also adds some comments and cleans some code
in the byte-code generator, as I was exploring around trying
to understand it.

(This commit removes an old test -- this is really a GHCi problem,
not a pattern-synonym problem.)

test case: ghci/scripts/T16509
21 jobs for !1122 with wip/t16509 in 517 minutes and 21 seconds (queued for 3 seconds)
latest detached
Status Job ID Name Coverage
  Lint
passed #141707
lint
ghc-linters

00:01:17

passed #141708
lint
lint-linters

00:01:22

passed #141711
lint
lint-submods-mr

00:00:20

passed #141709
lint
lint-testsuite

00:00:17

passed #141710
lint
typecheck-testsuite

00:00:15

 
  Build
passed #141713
x86_64-linux
hadrian-ghc-in-ghci

00:18:30

passed #141715
x86_64-linux
release-x86_64-linux-deb9-dwarf

00:53:50

passed #141714
x86_64-linux
validate-x86_64-linux-deb9-debug

03:33:27

passed #141712
x86_64-linux
validate-x86_64-linux-deb9-hadrian

04:03:50

 
  Full Build
failed #141717
aarch64-linux allowed to fail
validate-aarch64-linux-deb9

02:50:29

passed #141718
x86_64-linux
validate-i386-linux-deb9

01:19:42

passed #141716
x86_64-darwin
validate-x86_64-darwin

00:57:47

passed #141719
x86_64-linux
validate-x86_64-linux-deb9-integer-simple

01:18:41

passed #141720
x86_64-linux
validate-x86_64-linux-deb9-unreg

03:38:01

passed #141721
x86_64-linux
validate-x86_64-linux-fedora27

01:49:58

failed #141723
x86_64-windows allowed to fail
validate-x86_64-windows

04:06:39

failed #141722
x86_64-windows allowed to fail
validate-x86_64-windows-hadrian

02:53:03

 
  Cleanup
passed #141724
x86_64-darwin
cleanup-darwin

00:00:05

 
  Packaging
failed #141725
x86_64-linux allowed to fail
doc-tarball

00:01:12

 
  Testing
manual #141726
x86_64-linux allowed to fail manual
hackage
passed #141727
x86_64-linux
perf-nofib

00:23:31

 
Name Stage Failure
failed
validate-aarch64-linux-deb9 Full Build
cp: error writing 'cabal-cache/world': No space left on device
Uploading artifacts...
ghc-*.tar.xz: found 1 matching files
junit.xml: found 1 matching files

Uploading artifacts to coordinator... ok
id=141717 responseStatus=201 Created token=y8m4m7-T
Uploading artifacts...
junit.xml: found 1 matching files

Uploading artifacts to coordinator... ok
id=141717 responseStatus=201 Created token=y8m4m7-T
ERROR: Job failed: exit code 1
failed
validate-x86_64-windows-hadrian Full Build
junit.xml: found 1 matching files                  
WARNING: Failed to load system CertPool:crypto/x509: system root pool is not available on Windows
Uploading artifacts to coordinator... ok
id=141722 responseStatus=201 Created token=WAEi4dLy
Uploading artifacts...
Runtime platform
arch=amd64 os=windows pid=4380 revision=1f513601 version=11.10.1
junit.xml: found 1 matching files

WARNING: Failed to load system CertPool:crypto/x509: system root pool is not available on Windows
Uploading artifacts to coordinator... ok
id=141722 responseStatus=201 Created token=WAEi4dLy
ERROR: Job failed: exit status 1
failed
validate-x86_64-windows Full Build There has been a timeout failure or the job got stuck. Check your timeout limits or try again
cd "libraries/base/tests/System/getArgs001.run" && ./getArgs001  < 
=====> T16466(normal) 6940 of 7083 [0, 2, 2]
cd "libraries/base/tests/System/T16466.run" && "/c/GitLabRunner/builds/e963ee11/0/rae/ghc/inplace/bin/ghc-stage2.exe" -o T16466 T16466.hs -dcore-lint -dstg-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat -dno-debug-output <
cd "libraries/base/tests/System/getEnv001.run" && ./getEnv001 <
cd "libraries/base/tests/System/T5930.run" && ./T5930 <
cd "libraries/base/tests/System/Timeout001.run" && ./Timeout001 <
=====> T1548(normal) 6941 of 7083 [0, 2, 2]
=====> compact_simple(normal) 6942 of 7083 [0, 2, 2]
cd "libraries/base/tests/Text.Printf/T1548.run" && "/c/GitLabRunner/builds/e963ee11/0/rae/ghc/inplace/bin/ghc-stage2.exe" -o T1548 T1548.hs -dcore-lint -dstg-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat -dno-debug-output <
cd "libraries/ghc-compact/tests/compact_simple.run" && "/c/GitLabRunner/builds/e963ee11/0/rae/ghc/inplace/bin/ghc-stage2.exe" -o compact_simple compact_simple.hs -dcore-lint -dstg-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat -dno-debug-output <
failed
doc-tarball Packaging
Submodule path 'utils/hsc2hs': checked out 'efb556cc2689cae42abadae87d778ae20fbc0a14'
$ git checkout .gitmodules
$ git fetch https://gitlab.haskell.org/ghc/ghc-performance-notes.git refs/notes/perf:refs/notes/perf || true
warning: no common commits
From https://gitlab.haskell.org/ghc/ghc-performance-notes
* [new ref] refs/notes/perf -> refs/notes/perf
$ if [ ! -f "$LINUX_BINDIST" ]; then # collapsed multi-line command
Error: ghc-x86_64-mingw32.tar.xz does not exist. Did the 64-bit Windows job fail?
ERROR: Job failed: exit code 1