GHCi support for levity-polymorphic join points
authorRichard Eisenberg <rae@richarde.dev>
Tue, 4 Jun 2019 18:31:08 +0000 (14:31 -0400)
committerBen Gamari <ben@smart-cactus.org>
Tue, 25 Jun 2019 18:37:38 +0000 (14:37 -0400)
commit7ffe0681d44d002af357dd97f81590c804abb324
treeddc47e08f844f71bbdd5b192d9e2389106e6d1a3
parentf9da172cde69071121dc8698bc1488b454ab32b2
GHCi support for levity-polymorphic join points

Fixes #16509.

See Note [Levity-polymorphic 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.

test case: ghci/scripts/T16509

(cherry picked from commit 392210bf8a27b3604f8642d76c39e391c2d4b5e0)
compiler/ghci/ByteCodeAsm.hs
compiler/ghci/ByteCodeGen.hs
compiler/ghci/ByteCodeInstr.hs
compiler/simplStg/RepType.hs
testsuite/tests/ghci/scripts/T16509.hs [new file with mode: 0644]
testsuite/tests/ghci/scripts/T16509.script [new file with mode: 0644]
testsuite/tests/ghci/scripts/all.T