Wolfgang Jeltsch pushed to branch wip/jeltsch/textual-bytecode-output at Glasgow Haskell Compiler / GHC

Commits:

9 changed files:

Changes:

  • compiler/GHC/ByteCode/Show.hs
    ... ... @@ -77,6 +77,36 @@ import Data.Array (bounds, indices, elems)
    77 77
     import Numeric (showHex)
    
    78 78
     import GHC.Exts (Int (I#), Word (W#), int2Word#)
    
    79 79
     
    
    80
    +{-
    
    81
    +
    
    82
    +Note [Guidelines for the output of @--show-byte-code@]
    
    83
    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    84
    +
    
    85
    +The output of @--show-byte-code@ shall be shaped according to the following
    
    86
    +rules:
    
    87
    +
    
    88
    +  * The output is not a complete textual representation of the contents of a
    
    89
    +    bytecode file. Parts that are likely of little or no interest to a human
    
    90
    +    reader are left out. An example of such a “missing” part is the array of
    
    91
    +    instructions in a bytecode object.
    
    92
    +
    
    93
    +  * The shape of the output corresponds to a forest, whose structure closely
    
    94
    +    follows the structure of the bytecode representation within the compiler.
    
    95
    +    The textual representation of each subtree of this forest is generated using
    
    96
    +    the 'entry' operation defined in this module.
    
    97
    +
    
    98
    +  * Single quotes are put around items (using the 'quotes' operation) where this
    
    99
    +    makes it easier to distinguish the items from surrounding text. Examples of
    
    100
    +    items with quotes around them are names and types. Integer and string
    
    101
    +    literals are output without quotes, because they stick out by themselves.
    
    102
    +
    
    103
    +  * Infix operators are output with parentheses around them. To ensure that this
    
    104
    +    is always the case, all textual representations of names are generated using
    
    105
    +    the 'pprName' operation, defined in this module, instead of the 'ppr'
    
    106
    +    operation.
    
    107
    +
    
    108
    +-}
    
    109
    +
    
    80 110
     -- | Outputs textual information about the contents of a bytecode file.
    
    81 111
     showByteCode :: Logger -> HscEnv -> FilePath -> IO ()
    
    82 112
     showByteCode logger env path = do
    
    ... ... @@ -85,6 +115,8 @@ showByteCode logger env path = do
    85 115
              MCDump
    
    86 116
              noSrcSpan
    
    87 117
              (withPprStyle defaultDumpStyle $ pprOnDiskModuleByteCode byteCode)
    
    118
    +-- The output generated by 'showByteCode' shall follow some general guidelines.
    
    119
    +-- See Note [Guidelines for the output of @--show-byte-code@] for details.
    
    88 120
     
    
    89 121
     -- | Constructs textual information about the contents of a bytecode file.
    
    90 122
     pprOnDiskModuleByteCode :: OnDiskModuleByteCode -> SDoc
    

  • testsuite/tests/show-bytecode/Example.hs
    1 1
     {-# LANGUAGE StaticPointers #-}
    
    2 2
     
    
    3
    +-- | This module uses in particular the following features:
    
    4
    +--
    
    5
    +--     * Local variables defined in `where` clauses
    
    6
    +--     * Integer literals
    
    7
    +--     * Infix operators
    
    8
    +--     * Recursion
    
    9
    +--     * Static pointers
    
    10
    +--     * Algebraic-datatype declarations
    
    11
    +--     * Foreign import declarations
    
    3 12
     module Example where
    
    4 13
     
    
    5 14
     import Numeric.Natural (Natural)
    

  • testsuite/tests/show-bytecode/Makefile
    ... ... @@ -2,14 +2,25 @@ TOP=../..
    2 2
     include $(TOP)/mk/boilerplate.mk
    
    3 3
     include $(TOP)/mk/test.mk
    
    4 4
     
    
    5
    -compile   = '$(TEST_HC)' $(TEST_HC_OPTS) -fbyte-code -fwrite-byte-code -no-link
    
    6
    -show      = '$(TEST_HC)' $(TEST_HC_OPTS) --show-byte-code
    
    7
    -normalize = sed -E -e ' \
    
    8
    -                s/_r[[:alnum:]]+/_@name_suffix@/g; \
    
    9
    -                s/^( *hash: )[[:xdigit:]]+/\1@hash@/g; \
    
    10
    -                s/^( *)[[:xdigit:]]+:/\1@hash@:/g; \
    
    11
    -                s/word [[:digit:]]{4}[[:digit:]]*/word @large_word@/ \
    
    12
    -            '
    
    5
    +compile      = '$(TEST_HC)' $(TEST_HC_OPTS) \
    
    6
    +                   -fbyte-code -fwrite-byte-code -no-link
    
    7
    +show         = '$(TEST_HC)' $(TEST_HC_OPTS) \
    
    8
    +                   --show-byte-code
    
    9
    +stabilize    = sed -E -e ' \
    
    10
    +                   s/_r[[:alnum:]]+/_@name_suffix@/g; \
    
    11
    +                   s/^( *hash: )[[:xdigit:]]+/\1@hash@/g; \
    
    12
    +                   s/^( *)[[:xdigit:]]+:/\1@hash@:/g; \
    
    13
    +                   s/word [[:digit:]]{2}[[:digit:]]*/word @large_word@/ \
    
    14
    +               '
    
    15
    +universalize = sed -E -e ' \
    
    16
    +                   s/UInt[[:digit:]]+/UInt@word_size@/; \
    
    17
    +                   s/W[[:digit:]]+#/W@word_size@#/ \
    
    18
    +               ' | \
    
    19
    +               uniq
    
    20
    +normalize    = $(stabilize) | $(universalize)
    
    21
    +# The invocation of `uniq` in `$(universalize)` is merely for collapsing
    
    22
    +# adjacent entries of `word @large_word@`, whose number may depend on the word
    
    23
    +# size.
    
    13 24
     
    
    14 25
     show-bytecode-vanilla:
    
    15 26
     	$(compile) Example.hs
    

  • testsuite/tests/show-bytecode/show-bytecode-breakpoints.stdout
    ... ... @@ -18,7 +18,6 @@ objects:
    18 18
         lifted: yes
    
    19 19
         literals:
    
    20 20
           word @large_word@
    
    21
    -      word @large_word@
    
    22 21
         used items:
    
    23 22
           named item ‘static_ptr1_sat_@name_suffix@’
    
    24 23
           named item ‘primes’
    
    ... ... @@ -28,8 +27,6 @@ objects:
    28 27
         literals: <none>
    
    29 28
         used items:
    
    30 29
           named item ‘static_ptr1_sat_@name_suffix@’
    
    31
    -      named item ‘static_ptr1_sat_@name_suffix@’
    
    32
    -      named item ‘static_ptr1_sat_@name_suffix@’
    
    33 30
       object ‘static_ptr1_sat_@name_suffix@’:
    
    34 31
         arity: 0
    
    35 32
         literals: top-level string "main"
    
    ... ... @@ -52,16 +49,15 @@ objects:
    52 49
         literals: <none>
    
    53 50
         used items:
    
    54 51
           named item ‘static_ptr1_sat_@name_suffix@’
    
    55
    -      named item ‘static_ptr1_sat_@name_suffix@’
    
    56 52
       static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    57 53
         data constructor: I#
    
    58 54
         lifted: yes
    
    59
    -    literals: word 29
    
    55
    +    literals: word @large_word@
    
    60 56
         used items: <none>
    
    61 57
       static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    62 58
         data constructor: I#
    
    63 59
         lifted: yes
    
    64
    -    literals: word 20
    
    60
    +    literals: word @large_word@
    
    65 61
         used items: <none>
    
    66 62
       object ‘primes’:
    
    67 63
         arity: 0
    
    ... ... @@ -211,7 +207,6 @@ objects:
    211 207
         lifted: yes
    
    212 208
         literals:
    
    213 209
           word @large_word@
    
    214
    -      word @large_word@
    
    215 210
         used items:
    
    216 211
           named item ‘static_ptr_sat_@name_suffix@’
    
    217 212
           named item ‘fibonaccis’
    
    ... ... @@ -221,8 +216,6 @@ objects:
    221 216
         literals: <none>
    
    222 217
         used items:
    
    223 218
           named item ‘static_ptr_sat_@name_suffix@’
    
    224
    -      named item ‘static_ptr_sat_@name_suffix@’
    
    225
    -      named item ‘static_ptr_sat_@name_suffix@’
    
    226 219
       object ‘static_ptr_sat_@name_suffix@’:
    
    227 220
         arity: 0
    
    228 221
         literals: top-level string "main"
    
    ... ... @@ -245,16 +238,15 @@ objects:
    245 238
         literals: <none>
    
    246 239
         used items:
    
    247 240
           named item ‘static_ptr_sat_@name_suffix@’
    
    248
    -      named item ‘static_ptr_sat_@name_suffix@’
    
    249 241
       static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    250 242
         data constructor: I#
    
    251 243
         lifted: yes
    
    252
    -    literals: word 17
    
    244
    +    literals: word @large_word@
    
    253 245
         used items: <none>
    
    254 246
       static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    255 247
         data constructor: I#
    
    256 248
         lifted: yes
    
    257
    -    literals: word 24
    
    249
    +    literals: word @large_word@
    
    258 250
         used items: <none>
    
    259 251
       object ‘fibonaccis’:
    
    260 252
         arity: 0
    
    ... ... @@ -336,17 +328,16 @@ objects:
    336 328
             literals:
    
    337 329
               label ‘strlen’
    
    338 330
               word 0
    
    339
    -          foreign function of type ‘Pointer -> UInt64
    
    331
    +          foreign function of type ‘Pointer -> UInt@word_size@
    
    340 332
             used items:
    
    341 333
               object ‘wild_@name_suffix@’:
    
    342 334
                 arity: 0
    
    343
    -            literals: info table of ‘W64#’
    
    335
    +            literals: info table of ‘W@word_size@#’
    
    344 336
                 used items: <none>
    
    345 337
       static-construction object ‘$tc'Nested’:
    
    346 338
         data constructor: TyCon
    
    347 339
         lifted: yes
    
    348 340
         literals:
    
    349
    -      word @large_word@
    
    350 341
           word @large_word@
    
    351 342
           word 1
    
    352 343
         used items:
    
    ... ... @@ -383,7 +374,6 @@ objects:
    383 374
         data constructor: TyCon
    
    384 375
         lifted: yes
    
    385 376
         literals:
    
    386
    -      word @large_word@
    
    387 377
           word @large_word@
    
    388 378
           word 1
    
    389 379
         used items:
    
    ... ... @@ -420,7 +410,6 @@ objects:
    420 410
         data constructor: TyCon
    
    421 411
         lifted: yes
    
    422 412
         literals:
    
    423
    -      word @large_word@
    
    424 413
           word @large_word@
    
    425 414
           word 0
    
    426 415
         used items:
    
    ... ... @@ -436,7 +425,6 @@ objects:
    436 425
         data constructor: TyCon
    
    437 426
         lifted: yes
    
    438 427
         literals:
    
    439
    -      word @large_word@
    
    440 428
           word @large_word@
    
    441 429
           word 2
    
    442 430
         used items:
    
    ... ... @@ -468,12 +456,10 @@ objects:
    468 456
         literals: <none>
    
    469 457
         used items:
    
    470 458
           named item ‘$krep7_@name_suffix@’
    
    471
    -      named item ‘$krep7_@name_suffix@’
    
    472 459
       static-construction object ‘$tc'Leaf’:
    
    473 460
         data constructor: TyCon
    
    474 461
         lifted: yes
    
    475 462
         literals:
    
    476
    -      word @large_word@
    
    477 463
           word @large_word@
    
    478 464
           word 2
    
    479 465
         used items:
    
    ... ... @@ -517,7 +503,6 @@ objects:
    517 503
         data constructor: TyCon
    
    518 504
         lifted: yes
    
    519 505
         literals:
    
    520
    -      word @large_word@
    
    521 506
           word @large_word@
    
    522 507
           word 0
    
    523 508
         used items:
    
    ... ... @@ -666,89 +651,89 @@ top-level strings:
    666 651
     breakpoints:
    
    667 652
       source breakpoints:
    
    668 653
         source breakpoint 0:
    
    669
    -      source span: Example.hs:20:17-25
    
    654
    +      source span: Example.hs:29:17-25
    
    670 655
           declaration path: divides
    
    671 656
           free variables:
    
    672 657
             k
    
    673 658
             n
    
    674 659
         source breakpoint 1:
    
    675
    -      source span: Example.hs:20:17-30
    
    660
    +      source span: Example.hs:29:17-30
    
    676 661
           declaration path: divides
    
    677 662
           free variables:
    
    678 663
             k
    
    679 664
             n
    
    680 665
         source breakpoint 2:
    
    681
    -      source span: Example.hs:26:27-37
    
    666
    +      source span: Example.hs:35:27-37
    
    682 667
           declaration path:
    
    683 668
             primes
    
    684 669
             isPrime
    
    685 670
           free variables: n
    
    686 671
         source breakpoint 3:
    
    687
    -      source span: Example.hs:26:53-56
    
    672
    +      source span: Example.hs:35:53-56
    
    688 673
           declaration path:
    
    689 674
             primes
    
    690 675
             isPrime
    
    691 676
           free variables: n
    
    692 677
         source breakpoint 4:
    
    693
    -      source span: Example.hs:26:62-64
    
    678
    +      source span: Example.hs:35:62-64
    
    694 679
           declaration path:
    
    695 680
             primes
    
    696 681
             isPrime
    
    697 682
           free variables: <none>
    
    698 683
         source breakpoint 5:
    
    699
    -      source span: Example.hs:26:52-65
    
    684
    +      source span: Example.hs:35:52-65
    
    700 685
           declaration path:
    
    701 686
             primes
    
    702 687
             isPrime
    
    703 688
           free variables: n
    
    704 689
         source breakpoint 6:
    
    705
    -      source span: Example.hs:26:41-73
    
    690
    +      source span: Example.hs:35:41-73
    
    706 691
           declaration path:
    
    707 692
             primes
    
    708 693
             isPrime
    
    709 694
           free variables: n
    
    710 695
         source breakpoint 7:
    
    711
    -      source span: Example.hs:26:22-74
    
    696
    +      source span: Example.hs:35:22-74
    
    712 697
           declaration path:
    
    713 698
             primes
    
    714 699
             isPrime
    
    715 700
           free variables: n
    
    716 701
         source breakpoint 8:
    
    717
    -      source span: Example.hs:26:17-75
    
    702
    +      source span: Example.hs:35:17-75
    
    718 703
           declaration path:
    
    719 704
             primes
    
    720 705
             isPrime
    
    721 706
           free variables: n
    
    722 707
         source breakpoint 9:
    
    723
    -      source span: Example.hs:23:14-34
    
    708
    +      source span: Example.hs:32:14-34
    
    724 709
           declaration path: primes
    
    725 710
           free variables: isPrime
    
    726 711
         source breakpoint 10:
    
    727
    -      source span: Example.hs:23:10-34
    
    712
    +      source span: Example.hs:32:10-34
    
    728 713
           declaration path: primes
    
    729 714
           free variables: isPrime
    
    730 715
         source breakpoint 11:
    
    731
    -      source span: Example.hs:29:13-25
    
    716
    +      source span: Example.hs:38:13-25
    
    732 717
           declaration path: primesPtr
    
    733 718
           free variables: <none>
    
    734 719
         source breakpoint 12:
    
    735
    -      source span: Example.hs:14:30-70
    
    720
    +      source span: Example.hs:23:30-70
    
    736 721
           declaration path:
    
    737 722
             fibonaccis
    
    738 723
             positiveFibonaccis
    
    739 724
           free variables: positiveFibonaccis
    
    740 725
         source breakpoint 13:
    
    741
    -      source span: Example.hs:14:26-70
    
    726
    +      source span: Example.hs:23:26-70
    
    742 727
           declaration path:
    
    743 728
             fibonaccis
    
    744 729
             positiveFibonaccis
    
    745 730
           free variables: positiveFibonaccis
    
    746 731
         source breakpoint 14:
    
    747
    -      source span: Example.hs:11:14-35
    
    732
    +      source span: Example.hs:20:14-35
    
    748 733
           declaration path: fibonaccis
    
    749 734
           free variables: positiveFibonaccis
    
    750 735
         source breakpoint 15:
    
    751
    -      source span: Example.hs:17:17-33
    
    736
    +      source span: Example.hs:26:17-33
    
    752 737
           declaration path: fibonaccisPtr
    
    753 738
           free variables: <none>
    
    754 739
       bytecode breakpoints:
    

  • testsuite/tests/show-bytecode/show-bytecode-breakpoints.stdout-javascript-unknown-ghcjs
    1
    +[1 of 1] Compiling Example          ( Example.hs, Example.gbc )
    
    2
    +module: Example
    
    3
    +hash: @hash@
    
    4
    +objects:
    
    5
    +  object ‘primesPtr’:
    
    6
    +    arity: 0
    
    7
    +    literals:
    
    8
    +      top-level string "Example"
    
    9
    +      top-level string "main"
    
    10
    +      cost center of breakpoint 0
    
    11
    +    used items:
    
    12
    +      break array of module ‘Example’
    
    13
    +      named item ‘static_ptr1’
    
    14
    +      named item ‘$dTypeable2_@name_suffix@’
    
    15
    +      named item ‘$fIsStaticStaticPtr’
    
    16
    +  static-construction object ‘static_ptr1’:
    
    17
    +    data constructor: StaticPtr
    
    18
    +    lifted: yes
    
    19
    +    literals:
    
    20
    +      word @large_word@
    
    21
    +    used items:
    
    22
    +      named item ‘static_ptr1_sat_@name_suffix@’
    
    23
    +      named item ‘primes’
    
    24
    +  static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    25
    +    data constructor: StaticPtrInfo
    
    26
    +    lifted: yes
    
    27
    +    literals: <none>
    
    28
    +    used items:
    
    29
    +      named item ‘static_ptr1_sat_@name_suffix@’
    
    30
    +  object ‘static_ptr1_sat_@name_suffix@’:
    
    31
    +    arity: 0
    
    32
    +    literals: top-level string "main"
    
    33
    +    used items:
    
    34
    +      object ‘static_ptr1_sat_@name_suffix@’:
    
    35
    +        arity: 0
    
    36
    +        literals: <none>
    
    37
    +        used items: named item ‘unpackCString#’
    
    38
    +  object ‘static_ptr1_sat_@name_suffix@’:
    
    39
    +    arity: 0
    
    40
    +    literals: top-level string "Example"
    
    41
    +    used items:
    
    42
    +      object ‘static_ptr1_sat_@name_suffix@’:
    
    43
    +        arity: 0
    
    44
    +        literals: <none>
    
    45
    +        used items: named item ‘unpackCString#’
    
    46
    +  static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    47
    +    data constructor: (,)
    
    48
    +    lifted: yes
    
    49
    +    literals: <none>
    
    50
    +    used items:
    
    51
    +      named item ‘static_ptr1_sat_@name_suffix@’
    
    52
    +  static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    53
    +    data constructor: I#
    
    54
    +    lifted: yes
    
    55
    +    literals: word @large_word@
    
    56
    +    used items: <none>
    
    57
    +  static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    58
    +    data constructor: I#
    
    59
    +    lifted: yes
    
    60
    +    literals: word @large_word@
    
    61
    +    used items: <none>
    
    62
    +  object ‘primes’:
    
    63
    +    arity: 0
    
    64
    +    literals:
    
    65
    +      top-level string "Example"
    
    66
    +      top-level string "main"
    
    67
    +      cost center of breakpoint 2
    
    68
    +      info table of ‘(:)’
    
    69
    +    used items:
    
    70
    +      break array of module ‘Example’
    
    71
    +      object ‘primes_sat_@name_suffix@’:
    
    72
    +        arity: 0
    
    73
    +        literals:
    
    74
    +          top-level string "Example"
    
    75
    +          top-level string "main"
    
    76
    +          cost center of breakpoint 1
    
    77
    +        used items:
    
    78
    +          break array of module ‘Example’
    
    79
    +          object ‘primes_sat_@name_suffix@’:
    
    80
    +            arity: 0
    
    81
    +            literals: <none>
    
    82
    +            used items:
    
    83
    +              object ‘primes_sat_@name_suffix@’:
    
    84
    +                arity: 0
    
    85
    +                literals:
    
    86
    +                  word 3
    
    87
    +                  info table of ‘IS’
    
    88
    +                used items:
    
    89
    +                  named item ‘$fNumNatural’
    
    90
    +                  named item ‘fromInteger’
    
    91
    +              named item ‘$fEnumNatural’
    
    92
    +              named item ‘enumFrom’
    
    93
    +          named item ‘isPrime_@name_suffix@’
    
    94
    +          named item ‘filter’
    
    95
    +      object ‘primes_sat_@name_suffix@’:
    
    96
    +        arity: 0
    
    97
    +        literals:
    
    98
    +          word 2
    
    99
    +          info table of ‘IS’
    
    100
    +        used items:
    
    101
    +          named item ‘$fNumNatural’
    
    102
    +          named item ‘fromInteger’
    
    103
    +  object ‘isPrime_@name_suffix@’:
    
    104
    +    arity: 1
    
    105
    +    literals:
    
    106
    +      top-level string "Example"
    
    107
    +      top-level string "main"
    
    108
    +      cost center of breakpoint 9
    
    109
    +    used items:
    
    110
    +      break array of module ‘Example’
    
    111
    +      object ‘isPrime_sat_@name_suffix@’:
    
    112
    +        arity: 1
    
    113
    +        literals:
    
    114
    +          top-level string "Example"
    
    115
    +          top-level string "main"
    
    116
    +          cost center of breakpoint 8
    
    117
    +        used items:
    
    118
    +          break array of module ‘Example’
    
    119
    +          object ‘isPrime_sat_@name_suffix@’:
    
    120
    +            arity: 1
    
    121
    +            literals:
    
    122
    +              top-level string "Example"
    
    123
    +              top-level string "main"
    
    124
    +              cost center of breakpoint 7
    
    125
    +            used items:
    
    126
    +              break array of module ‘Example’
    
    127
    +              object ‘isPrime_sat_@name_suffix@’:
    
    128
    +                arity: 1
    
    129
    +                literals:
    
    130
    +                  top-level string "Example"
    
    131
    +                  top-level string "main"
    
    132
    +                  cost center of breakpoint 6
    
    133
    +                used items:
    
    134
    +                  break array of module ‘Example’
    
    135
    +                  object ‘isPrime_sat_@name_suffix@’:
    
    136
    +                    arity: 0
    
    137
    +                    literals:
    
    138
    +                      top-level string "Example"
    
    139
    +                      top-level string "main"
    
    140
    +                      cost center of breakpoint 5
    
    141
    +                      word 2
    
    142
    +                      info table of ‘IS’
    
    143
    +                    used items:
    
    144
    +                      break array of module ‘Example’
    
    145
    +                      object ‘v_@name_suffix@’:
    
    146
    +                        arity: 0
    
    147
    +                        literals: <none>
    
    148
    +                        used items:
    
    149
    +                          named item ‘$fIntegralInteger’
    
    150
    +                          named item ‘$fNumNatural’
    
    151
    +                          named item ‘(^)’
    
    152
    +                      object ‘pap_@name_suffix@’:
    
    153
    +                        arity: 3
    
    154
    +                        literals: <none>
    
    155
    +                        used items: <none>
    
    156
    +                  object ‘isPrime_sat_@name_suffix@’:
    
    157
    +                    arity: 1
    
    158
    +                    literals:
    
    159
    +                      top-level string "Example"
    
    160
    +                      top-level string "main"
    
    161
    +                      cost center of breakpoint 4
    
    162
    +                    used items:
    
    163
    +                      break array of module ‘Example’
    
    164
    +                      object ‘v_@name_suffix@’:
    
    165
    +                        arity: 0
    
    166
    +                        literals: <none>
    
    167
    +                        used items:
    
    168
    +                          named item ‘$fOrdNatural’
    
    169
    +                          named item ‘(<=)’
    
    170
    +                      object ‘pap_@name_suffix@’:
    
    171
    +                        arity: 3
    
    172
    +                        literals: <none>
    
    173
    +                        used items: <none>
    
    174
    +                  named item ‘(.)’
    
    175
    +              named item ‘primes’
    
    176
    +              named item ‘takeWhile’
    
    177
    +          object ‘isPrime_sat_@name_suffix@’:
    
    178
    +            arity: 1
    
    179
    +            literals:
    
    180
    +              top-level string "Example"
    
    181
    +              top-level string "main"
    
    182
    +              cost center of breakpoint 3
    
    183
    +            used items:
    
    184
    +              break array of module ‘Example’
    
    185
    +              object ‘pap_@name_suffix@’:
    
    186
    +                arity: 2
    
    187
    +                literals: <none>
    
    188
    +                used items:
    
    189
    +                  named item ‘$fIntegralNatural’
    
    190
    +                  named item ‘divides’
    
    191
    +          named item ‘$fFoldableList’
    
    192
    +          named item ‘any’
    
    193
    +      named item ‘not’
    
    194
    +  object ‘fibonaccisPtr’:
    
    195
    +    arity: 0
    
    196
    +    literals:
    
    197
    +      top-level string "Example"
    
    198
    +      top-level string "main"
    
    199
    +      cost center of breakpoint 10
    
    200
    +    used items:
    
    201
    +      break array of module ‘Example’
    
    202
    +      named item ‘static_ptr’
    
    203
    +      named item ‘$dTypeable2_@name_suffix@’
    
    204
    +      named item ‘$fIsStaticStaticPtr’
    
    205
    +  static-construction object ‘static_ptr’:
    
    206
    +    data constructor: StaticPtr
    
    207
    +    lifted: yes
    
    208
    +    literals:
    
    209
    +      word @large_word@
    
    210
    +    used items:
    
    211
    +      named item ‘static_ptr_sat_@name_suffix@’
    
    212
    +      named item ‘fibonaccis’
    
    213
    +  static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    214
    +    data constructor: StaticPtrInfo
    
    215
    +    lifted: yes
    
    216
    +    literals: <none>
    
    217
    +    used items:
    
    218
    +      named item ‘static_ptr_sat_@name_suffix@’
    
    219
    +  object ‘static_ptr_sat_@name_suffix@’:
    
    220
    +    arity: 0
    
    221
    +    literals: top-level string "main"
    
    222
    +    used items:
    
    223
    +      object ‘static_ptr_sat_@name_suffix@’:
    
    224
    +        arity: 0
    
    225
    +        literals: <none>
    
    226
    +        used items: named item ‘unpackCString#’
    
    227
    +  object ‘static_ptr_sat_@name_suffix@’:
    
    228
    +    arity: 0
    
    229
    +    literals: top-level string "Example"
    
    230
    +    used items:
    
    231
    +      object ‘static_ptr_sat_@name_suffix@’:
    
    232
    +        arity: 0
    
    233
    +        literals: <none>
    
    234
    +        used items: named item ‘unpackCString#’
    
    235
    +  static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    236
    +    data constructor: (,)
    
    237
    +    lifted: yes
    
    238
    +    literals: <none>
    
    239
    +    used items:
    
    240
    +      named item ‘static_ptr_sat_@name_suffix@’
    
    241
    +  static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    242
    +    data constructor: I#
    
    243
    +    lifted: yes
    
    244
    +    literals: word @large_word@
    
    245
    +    used items: <none>
    
    246
    +  static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    247
    +    data constructor: I#
    
    248
    +    lifted: yes
    
    249
    +    literals: word @large_word@
    
    250
    +    used items: <none>
    
    251
    +  object ‘fibonaccis’:
    
    252
    +    arity: 0
    
    253
    +    literals:
    
    254
    +      top-level string "Example"
    
    255
    +      top-level string "main"
    
    256
    +      cost center of breakpoint 11
    
    257
    +      info table of ‘(:)’
    
    258
    +    used items:
    
    259
    +      break array of module ‘Example’
    
    260
    +      object ‘fibonaccis_sat_@name_suffix@’:
    
    261
    +        arity: 0
    
    262
    +        literals:
    
    263
    +          word 0
    
    264
    +          info table of ‘IS’
    
    265
    +        used items:
    
    266
    +          named item ‘$fNumNatural’
    
    267
    +          named item ‘fromInteger’
    
    268
    +      named item ‘positiveFibonaccis_@name_suffix@’
    
    269
    +  object ‘positiveFibonaccis_@name_suffix@’:
    
    270
    +    arity: 0
    
    271
    +    literals:
    
    272
    +      top-level string "Example"
    
    273
    +      top-level string "main"
    
    274
    +      cost center of breakpoint 13
    
    275
    +      info table of ‘(:)’
    
    276
    +    used items:
    
    277
    +      break array of module ‘Example’
    
    278
    +      object ‘positiveFibonaccis_sat_@name_suffix@’:
    
    279
    +        arity: 0
    
    280
    +        literals:
    
    281
    +          top-level string "Example"
    
    282
    +          top-level string "main"
    
    283
    +          cost center of breakpoint 12
    
    284
    +        used items:
    
    285
    +          break array of module ‘Example’
    
    286
    +          object ‘positiveFibonaccis_sat_@name_suffix@’:
    
    287
    +            arity: 0
    
    288
    +            literals: <none>
    
    289
    +            used items:
    
    290
    +              named item ‘$fNumNatural’
    
    291
    +              named item ‘(+)’
    
    292
    +          named item ‘positiveFibonaccis_@name_suffix@’
    
    293
    +          named item ‘fibonaccis’
    
    294
    +          named item ‘zipWith’
    
    295
    +      object ‘positiveFibonaccis_sat_@name_suffix@’:
    
    296
    +        arity: 0
    
    297
    +        literals:
    
    298
    +          word 1
    
    299
    +          info table of ‘IS’
    
    300
    +        used items:
    
    301
    +          named item ‘$fNumNatural’
    
    302
    +          named item ‘fromInteger’
    
    303
    +  object ‘$dTypeable2_@name_suffix@’:
    
    304
    +    arity: 0
    
    305
    +    literals: <none>
    
    306
    +    used items:
    
    307
    +      named item ‘$dTypeable_@name_suffix@’
    
    308
    +      named item ‘$dTypeable1_@name_suffix@’
    
    309
    +      named item ‘mkTrAppChecked’
    
    310
    +  object ‘$dTypeable1_@name_suffix@’:
    
    311
    +    arity: 0
    
    312
    +    literals: info table of ‘[]’
    
    313
    +    used items:
    
    314
    +      named item ‘$tcList’
    
    315
    +      named item ‘mkTrCon’
    
    316
    +  object ‘$dTypeable_@name_suffix@’:
    
    317
    +    arity: 0
    
    318
    +    literals: info table of ‘[]’
    
    319
    +    used items:
    
    320
    +      named item ‘$tcNatural’
    
    321
    +      named item ‘mkTrCon’
    
    322
    +  object ‘cstrlen’:
    
    323
    +    arity: 2
    
    324
    +    literals: <none>
    
    325
    +    used items:
    
    326
    +      object ‘ds1_@name_suffix@’:
    
    327
    +    used items: named item ‘cstrlen1_@name_suffix@’
    
    328
    +  object ‘cstrlen1_@name_suffix@’:
    
    329
    +    arity: 2
    
    330
    +    literals: <none>
    
    331
    +        arity: 0
    
    332
    +        literals:
    
    333
    +          label ‘strlen’
    
    334
    +          word 0
    
    335
    +          foreign function of type ‘Pointer -> UInt@word_size@’
    
    336
    +        used items:
    
    337
    +          object ‘wild_@name_suffix@’:
    
    338
    +            arity: 0
    
    339
    +            literals: info table of ‘W@word_size@#’
    
    340
    +            used items: <none>
    
    341
    +  static-construction object ‘$tc'Nested’:
    
    342
    +    data constructor: TyCon
    
    343
    +    lifted: yes
    
    344
    +    literals:
    
    345
    +      word @large_word@
    
    346
    +      word 1
    
    347
    +    used items:
    
    348
    +      named item ‘$trModule’
    
    349
    +      named item ‘$tc'Nested2_@name_suffix@’
    
    350
    +      named item ‘$krep17_@name_suffix@’
    
    351
    +  static-construction object ‘$tc'Nested2_@name_suffix@’:
    
    352
    +    data constructor: TrNameS
    
    353
    +    lifted: yes
    
    354
    +    literals: address ‘$tc'Nested1_@name_suffix@’
    
    355
    +    used items: <none>
    
    356
    +  static-construction object ‘$krep17_@name_suffix@’:
    
    357
    +    data constructor: KindRepFun
    
    358
    +    lifted: yes
    
    359
    +    literals: <none>
    
    360
    +    used items:
    
    361
    +      named item ‘$krep16_@name_suffix@’
    
    362
    +      named item ‘$krep13_@name_suffix@’
    
    363
    +  static-construction object ‘$krep16_@name_suffix@’:
    
    364
    +    data constructor: KindRepTyConApp
    
    365
    +    lifted: yes
    
    366
    +    literals: <none>
    
    367
    +    used items:
    
    368
    +      named item ‘$tcPerfectTree’
    
    369
    +      named item ‘$krep15_@name_suffix@’
    
    370
    +  static-construction object ‘$krep15_@name_suffix@’:
    
    371
    +    data constructor: (:)
    
    372
    +    lifted: yes
    
    373
    +    literals: <none>
    
    374
    +    used items:
    
    375
    +      named item ‘$krep4_@name_suffix@’
    
    376
    +      named item ‘[]’
    
    377
    +  static-construction object ‘$tc'PerfectTree’:
    
    378
    +    data constructor: TyCon
    
    379
    +    lifted: yes
    
    380
    +    literals:
    
    381
    +      word @large_word@
    
    382
    +      word 1
    
    383
    +    used items:
    
    384
    +      named item ‘$trModule’
    
    385
    +      named item ‘$tc'PerfectTree2_@name_suffix@’
    
    386
    +      named item ‘$krep14_@name_suffix@’
    
    387
    +  static-construction object ‘$tc'PerfectTree2_@name_suffix@’:
    
    388
    +    data constructor: TrNameS
    
    389
    +    lifted: yes
    
    390
    +    literals: address ‘$tc'PerfectTree1_@name_suffix@’
    
    391
    +    used items: <none>
    
    392
    +  static-construction object ‘$krep14_@name_suffix@’:
    
    393
    +    data constructor: KindRepFun
    
    394
    +    lifted: yes
    
    395
    +    literals: <none>
    
    396
    +    used items:
    
    397
    +      named item ‘$krep1_@name_suffix@’
    
    398
    +      named item ‘$krep13_@name_suffix@’
    
    399
    +  static-construction object ‘$krep13_@name_suffix@’:
    
    400
    +    data constructor: KindRepTyConApp
    
    401
    +    lifted: yes
    
    402
    +    literals: <none>
    
    403
    +    used items:
    
    404
    +      named item ‘$tcPerfectTree’
    
    405
    +      named item ‘$krep12_@name_suffix@’
    
    406
    +  static-construction object ‘$krep12_@name_suffix@’:
    
    407
    +    data constructor: (:)
    
    408
    +    lifted: yes
    
    409
    +    literals: <none>
    
    410
    +    used items:
    
    411
    +      named item ‘$krep1_@name_suffix@’
    
    412
    +      named item ‘[]’
    
    413
    +  static-construction object ‘$tcPerfectTree’:
    
    414
    +    data constructor: TyCon
    
    415
    +    lifted: yes
    
    416
    +    literals:
    
    417
    +      word @large_word@
    
    418
    +      word 0
    
    419
    +    used items:
    
    420
    +      named item ‘$trModule’
    
    421
    +      named item ‘$tcPerfectTree2_@name_suffix@’
    
    422
    +      named item ‘krep$*Arr*’
    
    423
    +  static-construction object ‘$tcPerfectTree2_@name_suffix@’:
    
    424
    +    data constructor: TrNameS
    
    425
    +    lifted: yes
    
    426
    +    literals: address ‘$tcPerfectTree1_@name_suffix@’
    
    427
    +    used items: <none>
    
    428
    +  static-construction object ‘$tc'Node’:
    
    429
    +    data constructor: TyCon
    
    430
    +    lifted: yes
    
    431
    +    literals:
    
    432
    +      word @large_word@
    
    433
    +      word 2
    
    434
    +    used items:
    
    435
    +      named item ‘$trModule’
    
    436
    +      named item ‘$tc'Node2_@name_suffix@’
    
    437
    +      named item ‘$krep11_@name_suffix@’
    
    438
    +  static-construction object ‘$tc'Node2_@name_suffix@’:
    
    439
    +    data constructor: TrNameS
    
    440
    +    lifted: yes
    
    441
    +    literals: address ‘$tc'Node1_@name_suffix@’
    
    442
    +    used items: <none>
    
    443
    +  static-construction object ‘$krep11_@name_suffix@’:
    
    444
    +    data constructor: KindRepFun
    
    445
    +    lifted: yes
    
    446
    +    literals: <none>
    
    447
    +    used items:
    
    448
    +      named item ‘$krep7_@name_suffix@’
    
    449
    +      named item ‘$krep10_@name_suffix@’
    
    450
    +  static-construction object ‘$krep10_@name_suffix@’:
    
    451
    +    data constructor: KindRepFun
    
    452
    +    lifted: yes
    
    453
    +    literals: <none>
    
    454
    +    used items:
    
    455
    +      named item ‘$krep_@name_suffix@’
    
    456
    +      named item ‘$krep9_@name_suffix@’
    
    457
    +  static-construction object ‘$krep9_@name_suffix@’:
    
    458
    +    data constructor: KindRepFun
    
    459
    +    lifted: yes
    
    460
    +    literals: <none>
    
    461
    +    used items:
    
    462
    +      named item ‘$krep7_@name_suffix@’
    
    463
    +  static-construction object ‘$tc'Leaf’:
    
    464
    +    data constructor: TyCon
    
    465
    +    lifted: yes
    
    466
    +    literals:
    
    467
    +      word @large_word@
    
    468
    +      word 2
    
    469
    +    used items:
    
    470
    +      named item ‘$trModule’
    
    471
    +      named item ‘$tc'Leaf2_@name_suffix@’
    
    472
    +      named item ‘$krep8_@name_suffix@’
    
    473
    +  static-construction object ‘$tc'Leaf2_@name_suffix@’:
    
    474
    +    data constructor: TrNameS
    
    475
    +    lifted: yes
    
    476
    +    literals: address ‘$tc'Leaf1_@name_suffix@’
    
    477
    +    used items: <none>
    
    478
    +  static-construction object ‘$krep8_@name_suffix@’:
    
    479
    +    data constructor: KindRepFun
    
    480
    +    lifted: yes
    
    481
    +    literals: <none>
    
    482
    +    used items:
    
    483
    +      named item ‘$krep1_@name_suffix@’
    
    484
    +      named item ‘$krep7_@name_suffix@’
    
    485
    +  static-construction object ‘$krep7_@name_suffix@’:
    
    486
    +    data constructor: KindRepTyConApp
    
    487
    +    lifted: yes
    
    488
    +    literals: <none>
    
    489
    +    used items:
    
    490
    +      named item ‘$tcBinTree’
    
    491
    +      named item ‘$krep6_@name_suffix@’
    
    492
    +  static-construction object ‘$krep6_@name_suffix@’:
    
    493
    +    data constructor: (:)
    
    494
    +    lifted: yes
    
    495
    +    literals: <none>
    
    496
    +    used items:
    
    497
    +      named item ‘$krep1_@name_suffix@’
    
    498
    +      named item ‘$krep5_@name_suffix@’
    
    499
    +  static-construction object ‘$krep5_@name_suffix@’:
    
    500
    +    data constructor: (:)
    
    501
    +    lifted: yes
    
    502
    +    literals: <none>
    
    503
    +    used items:
    
    504
    +      named item ‘$krep_@name_suffix@’
    
    505
    +      named item ‘[]’
    
    506
    +  static-construction object ‘$tcBinTree’:
    
    507
    +    data constructor: TyCon
    
    508
    +    lifted: yes
    
    509
    +    literals:
    
    510
    +      word @large_word@
    
    511
    +      word 0
    
    512
    +    used items:
    
    513
    +      named item ‘$trModule’
    
    514
    +      named item ‘$tcBinTree2_@name_suffix@’
    
    515
    +      named item ‘krep$*->*->*’
    
    516
    +  static-construction object ‘$tcBinTree2_@name_suffix@’:
    
    517
    +    data constructor: TrNameS
    
    518
    +    lifted: yes
    
    519
    +    literals: address ‘$tcBinTree1_@name_suffix@’
    
    520
    +    used items: <none>
    
    521
    +  static-construction object ‘$krep4_@name_suffix@’:
    
    522
    +    data constructor: KindRepTyConApp
    
    523
    +    lifted: yes
    
    524
    +    literals: <none>
    
    525
    +    used items:
    
    526
    +      named item ‘$tcTuple2’
    
    527
    +      named item ‘$krep3_@name_suffix@’
    
    528
    +  static-construction object ‘$krep3_@name_suffix@’:
    
    529
    +    data constructor: (:)
    
    530
    +    lifted: yes
    
    531
    +    literals: <none>
    
    532
    +    used items:
    
    533
    +      named item ‘$krep1_@name_suffix@’
    
    534
    +      named item ‘$krep2_@name_suffix@’
    
    535
    +  static-construction object ‘$krep2_@name_suffix@’:
    
    536
    +    data constructor: (:)
    
    537
    +    lifted: yes
    
    538
    +    literals: <none>
    
    539
    +    used items:
    
    540
    +      named item ‘$krep1_@name_suffix@’
    
    541
    +      named item ‘[]’
    
    542
    +  static-construction object ‘$krep1_@name_suffix@’:
    
    543
    +    data constructor: KindRepVar
    
    544
    +    lifted: yes
    
    545
    +    literals: word 0
    
    546
    +    used items: <none>
    
    547
    +  static-construction object ‘$krep_@name_suffix@’:
    
    548
    +    data constructor: KindRepVar
    
    549
    +    lifted: yes
    
    550
    +    literals: word 1
    
    551
    +    used items: <none>
    
    552
    +  static-construction object ‘$trModule’:
    
    553
    +    data constructor: Module
    
    554
    +    lifted: yes
    
    555
    +    literals: <none>
    
    556
    +    used items:
    
    557
    +      named item ‘$trModule2_@name_suffix@’
    
    558
    +      named item ‘$trModule4_@name_suffix@’
    
    559
    +  static-construction object ‘$trModule4_@name_suffix@’:
    
    560
    +    data constructor: TrNameS
    
    561
    +    lifted: yes
    
    562
    +    literals: address ‘$trModule3_@name_suffix@’
    
    563
    +    used items: <none>
    
    564
    +  static-construction object ‘$trModule2_@name_suffix@’:
    
    565
    +    data constructor: TrNameS
    
    566
    +    lifted: yes
    
    567
    +    literals: address ‘$trModule1_@name_suffix@’
    
    568
    +    used items: <none>
    
    569
    +  object ‘divides’:
    
    570
    +    arity: 3
    
    571
    +    literals: <none>
    
    572
    +    used items:
    
    573
    +      object ‘$dReal_@name_suffix@’:
    
    574
    +        arity: 0
    
    575
    +        literals: <none>
    
    576
    +        used items:
    
    577
    +          object ‘$dNum_@name_suffix@’:
    
    578
    +            arity: 0
    
    579
    +            literals: <none>
    
    580
    +            used items:
    
    581
    +              object ‘$dEq_@name_suffix@’:
    
    582
    +                arity: 0
    
    583
    +                literals: <none>
    
    584
    +                used items:
    
    585
    +                  object ‘$dEq1_@name_suffix@’:
    
    586
    +                    arity: 0
    
    587
    +                    literals: <none>
    
    588
    +                    used items:
    
    589
    +                      object ‘bcprep_@name_suffix@’:
    
    590
    +                        arity: 5
    
    591
    +                        literals:
    
    592
    +                          top-level string "Example"
    
    593
    +                          top-level string "main"
    
    594
    +                          cost center of breakpoint 15
    
    595
    +                        used items:
    
    596
    +                          break array of module ‘Example’
    
    597
    +                          object ‘divides_sat_@name_suffix@’:
    
    598
    +                            arity: 1
    
    599
    +                            literals:
    
    600
    +                              word 0
    
    601
    +                              info table of ‘IS’
    
    602
    +                            used items: named item ‘fromInteger’
    
    603
    +                          object ‘divides_sat_@name_suffix@’:
    
    604
    +                            arity: 3
    
    605
    +                            literals:
    
    606
    +                              top-level string "Example"
    
    607
    +                              top-level string "main"
    
    608
    +                              cost center of breakpoint 14
    
    609
    +                            used items:
    
    610
    +                              break array of module ‘Example’
    
    611
    +                              named item ‘mod’
    
    612
    +                          named item ‘(==)’
    
    613
    +                  named item ‘$p1Ord’
    
    614
    +              named item ‘$p2Real’
    
    615
    +          named item ‘$p1Real’
    
    616
    +      named item ‘$p1Integral’
    
    617
    +  object ‘Node’:
    
    618
    +    arity: 3
    
    619
    +    literals: info table of ‘Node’
    
    620
    +    used items: <none>
    
    621
    +  object ‘Leaf’:
    
    622
    +    arity: 1
    
    623
    +    literals: info table of ‘Leaf’
    
    624
    +    used items: <none>
    
    625
    +  object ‘Nested’:
    
    626
    +    arity: 1
    
    627
    +    literals: info table of ‘Nested’
    
    628
    +    used items: <none>
    
    629
    +  object ‘PerfectTree’:
    
    630
    +    arity: 1
    
    631
    +    literals: info table of ‘PerfectTree’
    
    632
    +    used items: <none>
    
    633
    +data constructor info tables:
    
    634
    +  info table of ‘PerfectTree’:
    
    635
    +    number of words for pointers: 1
    
    636
    +    number of words for non-pointers: 0
    
    637
    +  info table of ‘Nested’:
    
    638
    +    number of words for pointers: 1
    
    639
    +    number of words for non-pointers: 0
    
    640
    +  info table of ‘Leaf’:
    
    641
    +    number of words for pointers: 1
    
    642
    +    number of words for non-pointers: 0
    
    643
    +  info table of ‘Node’:
    
    644
    +    number of words for pointers: 3
    
    645
    +    number of words for non-pointers: 0
    
    646
    +top-level strings:
    
    647
    +  $tc'Nested1_@name_suffix@: "'Nested"
    
    648
    +  $tc'PerfectTree1_@name_suffix@: "'PerfectTree"
    
    649
    +  $tcPerfectTree1_@name_suffix@: "PerfectTree"
    
    650
    +  $tc'Node1_@name_suffix@: "'Node"
    
    651
    +  $tc'Leaf1_@name_suffix@: "'Leaf"
    
    652
    +  $tcBinTree1_@name_suffix@: "BinTree"
    
    653
    +  $trModule3_@name_suffix@: "Example"
    
    654
    +  $trModule1_@name_suffix@: "main"
    
    655
    +breakpoints:
    
    656
    +  source breakpoints:
    
    657
    +    source breakpoint 0:
    
    658
    +      source span: Example.hs:29:17-25
    
    659
    +      declaration path: divides
    
    660
    +      free variables:
    
    661
    +        k
    
    662
    +        n
    
    663
    +    source breakpoint 1:
    
    664
    +      source span: Example.hs:29:17-30
    
    665
    +      declaration path: divides
    
    666
    +      free variables:
    
    667
    +        k
    
    668
    +        n
    
    669
    +    source breakpoint 2:
    
    670
    +      source span: Example.hs:35:27-37
    
    671
    +      declaration path:
    
    672
    +        primes
    
    673
    +        isPrime
    
    674
    +      free variables: n
    
    675
    +    source breakpoint 3:
    
    676
    +      source span: Example.hs:35:53-56
    
    677
    +      declaration path:
    
    678
    +        primes
    
    679
    +        isPrime
    
    680
    +      free variables: n
    
    681
    +    source breakpoint 4:
    
    682
    +      source span: Example.hs:35:62-64
    
    683
    +      declaration path:
    
    684
    +        primes
    
    685
    +        isPrime
    
    686
    +      free variables: <none>
    
    687
    +    source breakpoint 5:
    
    688
    +      source span: Example.hs:35:52-65
    
    689
    +      declaration path:
    
    690
    +        primes
    
    691
    +        isPrime
    
    692
    +      free variables: n
    
    693
    +    source breakpoint 6:
    
    694
    +      source span: Example.hs:35:41-73
    
    695
    +      declaration path:
    
    696
    +        primes
    
    697
    +        isPrime
    
    698
    +      free variables: n
    
    699
    +    source breakpoint 7:
    
    700
    +      source span: Example.hs:35:22-74
    
    701
    +      declaration path:
    
    702
    +        primes
    
    703
    +        isPrime
    
    704
    +      free variables: n
    
    705
    +    source breakpoint 8:
    
    706
    +      source span: Example.hs:35:17-75
    
    707
    +      declaration path:
    
    708
    +        primes
    
    709
    +        isPrime
    
    710
    +      free variables: n
    
    711
    +    source breakpoint 9:
    
    712
    +      source span: Example.hs:32:14-34
    
    713
    +      declaration path: primes
    
    714
    +      free variables: isPrime
    
    715
    +    source breakpoint 10:
    
    716
    +      source span: Example.hs:32:10-34
    
    717
    +      declaration path: primes
    
    718
    +      free variables: isPrime
    
    719
    +    source breakpoint 11:
    
    720
    +      source span: Example.hs:38:13-25
    
    721
    +      declaration path: primesPtr
    
    722
    +      free variables: <none>
    
    723
    +    source breakpoint 12:
    
    724
    +      source span: Example.hs:23:30-70
    
    725
    +      declaration path:
    
    726
    +        fibonaccis
    
    727
    +        positiveFibonaccis
    
    728
    +      free variables: positiveFibonaccis
    
    729
    +    source breakpoint 13:
    
    730
    +      source span: Example.hs:23:26-70
    
    731
    +      declaration path:
    
    732
    +        fibonaccis
    
    733
    +        positiveFibonaccis
    
    734
    +      free variables: positiveFibonaccis
    
    735
    +    source breakpoint 14:
    
    736
    +      source span: Example.hs:20:14-35
    
    737
    +      declaration path: fibonaccis
    
    738
    +      free variables: positiveFibonaccis
    
    739
    +    source breakpoint 15:
    
    740
    +      source span: Example.hs:26:17-33
    
    741
    +      declaration path: fibonaccisPtr
    
    742
    +      free variables: <none>
    
    743
    +  bytecode breakpoints:
    
    744
    +    bytecode breakpoint 0:
    
    745
    +      type: StaticPtr [Natural]
    
    746
    +      type variables: <none>
    
    747
    +      variables: <none>
    
    748
    +      corresponding source breakpoint: 11
    
    749
    +    bytecode breakpoint 1:
    
    750
    +      type: [Natural]
    
    751
    +      type variables: <none>
    
    752
    +      variables: <unknown>
    
    753
    +      corresponding source breakpoint: 9
    
    754
    +    bytecode breakpoint 2:
    
    755
    +      type: [Natural]
    
    756
    +      type variables: <none>
    
    757
    +      variables: <unknown>
    
    758
    +      corresponding source breakpoint: 10
    
    759
    +    bytecode breakpoint 3:
    
    760
    +      type: Natural -> Bool
    
    761
    +      type variables: <none>
    
    762
    +      variables: %'Many n :: Natural
    
    763
    +      corresponding source breakpoint: 2
    
    764
    +    bytecode breakpoint 4:
    
    765
    +      type: Natural -> Bool
    
    766
    +      type variables: <none>
    
    767
    +      variables: %'Many n :: Natural
    
    768
    +      corresponding source breakpoint: 3
    
    769
    +    bytecode breakpoint 5:
    
    770
    +      type: Natural -> Natural
    
    771
    +      type variables: <none>
    
    772
    +      variables: <none>
    
    773
    +      corresponding source breakpoint: 4
    
    774
    +    bytecode breakpoint 6:
    
    775
    +      type: Natural -> Bool
    
    776
    +      type variables: <none>
    
    777
    +      variables: %'Many n :: Natural
    
    778
    +      corresponding source breakpoint: 5
    
    779
    +    bytecode breakpoint 7:
    
    780
    +      type: [Natural]
    
    781
    +      type variables: <none>
    
    782
    +      variables: %'Many n :: Natural
    
    783
    +      corresponding source breakpoint: 6
    
    784
    +    bytecode breakpoint 8:
    
    785
    +      type: Bool
    
    786
    +      type variables: <none>
    
    787
    +      variables: %'Many n :: Natural
    
    788
    +      corresponding source breakpoint: 7
    
    789
    +    bytecode breakpoint 9:
    
    790
    +      type: Bool
    
    791
    +      type variables: <none>
    
    792
    +      variables: %'Many n :: Natural
    
    793
    +      corresponding source breakpoint: 8
    
    794
    +    bytecode breakpoint 10:
    
    795
    +      type: StaticPtr [Natural]
    
    796
    +      type variables: <none>
    
    797
    +      variables: <none>
    
    798
    +      corresponding source breakpoint: 15
    
    799
    +    bytecode breakpoint 11:
    
    800
    +      type: [Natural]
    
    801
    +      type variables: <none>
    
    802
    +      variables: <unknown>
    
    803
    +      corresponding source breakpoint: 14
    
    804
    +    bytecode breakpoint 12:
    
    805
    +      type: [Natural]
    
    806
    +      type variables: <none>
    
    807
    +      variables: <unknown>
    
    808
    +      corresponding source breakpoint: 12
    
    809
    +    bytecode breakpoint 13:
    
    810
    +      type: [Natural]
    
    811
    +      type variables: <none>
    
    812
    +      variables: <unknown>
    
    813
    +      corresponding source breakpoint: 13
    
    814
    +    bytecode breakpoint 14:
    
    815
    +      type: a
    
    816
    +      type variables: a :: *
    
    817
    +      variables:
    
    818
    +        %'Many eta :: a
    
    819
    +        %'Many eta1 :: a
    
    820
    +      corresponding source breakpoint: 0
    
    821
    +    bytecode breakpoint 15:
    
    822
    +      type: Bool
    
    823
    +      type variables: a :: *
    
    824
    +      variables:
    
    825
    +        %'Many eta :: a
    
    826
    +        %'Many eta1 :: a
    
    827
    +      corresponding source breakpoint: 1
    
    828
    +static-pointer table entries:
    
    829
    +  @hash@: static_ptr
    
    830
    +  @hash@: static_ptr1
    
    831
    +HPC information: <none>
    
    832
    +

  • testsuite/tests/show-bytecode/show-bytecode-hpc.stdout
    ... ... @@ -6,7 +6,6 @@ objects:
    6 6
         arity: 0
    
    7 7
         literals:
    
    8 8
           label ‘_hpc_tickboxes_Example_hpc’
    
    9
    -      label ‘_hpc_tickboxes_Example_hpc’
    
    10 9
         used items:
    
    11 10
           named item ‘static_ptr1’
    
    12 11
           named item ‘$dTypeable2_@name_suffix@’
    
    ... ... @@ -16,18 +15,14 @@ objects:
    16 15
         lifted: yes
    
    17 16
         literals:
    
    18 17
           word @large_word@
    
    19
    -      word @large_word@
    
    20 18
         used items:
    
    21 19
           named item ‘static_ptr1_sat_@name_suffix@’
    
    22
    -      named item ‘static_ptr1_sat_@name_suffix@’
    
    23 20
       static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    24 21
         data constructor: StaticPtrInfo
    
    25 22
         lifted: yes
    
    26 23
         literals: <none>
    
    27 24
         used items:
    
    28 25
           named item ‘static_ptr1_sat_@name_suffix@’
    
    29
    -      named item ‘static_ptr1_sat_@name_suffix@’
    
    30
    -      named item ‘static_ptr1_sat_@name_suffix@’
    
    31 26
       object ‘static_ptr1_sat_@name_suffix@’:
    
    32 27
         arity: 0
    
    33 28
         literals: top-level string "main"
    
    ... ... @@ -50,16 +45,15 @@ objects:
    50 45
         literals: <none>
    
    51 46
         used items:
    
    52 47
           named item ‘static_ptr1_sat_@name_suffix@’
    
    53
    -      named item ‘static_ptr1_sat_@name_suffix@’
    
    54 48
       static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    55 49
         data constructor: I#
    
    56 50
         lifted: yes
    
    57
    -    literals: word 29
    
    51
    +    literals: word @large_word@
    
    58 52
         used items: <none>
    
    59 53
       static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    60 54
         data constructor: I#
    
    61 55
         lifted: yes
    
    62
    -    literals: word 20
    
    56
    +    literals: word @large_word@
    
    63 57
         used items: <none>
    
    64 58
       object ‘static_ptr1_sat_@name_suffix@’:
    
    65 59
         arity: 0
    
    ... ... @@ -93,7 +87,6 @@ objects:
    93 87
         arity: 1
    
    94 88
         literals:
    
    95 89
           label ‘_hpc_tickboxes_Example_hpc’
    
    96
    -      label ‘_hpc_tickboxes_Example_hpc’
    
    97 90
         used items:
    
    98 91
           object ‘isPrime_sat_@name_suffix@’:
    
    99 92
             arity: 1
    
    ... ... @@ -181,7 +174,6 @@ objects:
    181 174
       object ‘primes’:
    
    182 175
         arity: 0
    
    183 176
         literals:
    
    184
    -      label ‘_hpc_tickboxes_Example_hpc’
    
    185 177
           label ‘_hpc_tickboxes_Example_hpc’
    
    186 178
           info table of ‘(:)’
    
    187 179
         used items:
    
    ... ... @@ -200,7 +192,6 @@ objects:
    200 192
         arity: 0
    
    201 193
         literals:
    
    202 194
           label ‘_hpc_tickboxes_Example_hpc’
    
    203
    -      label ‘_hpc_tickboxes_Example_hpc’
    
    204 195
         used items:
    
    205 196
           named item ‘static_ptr’
    
    206 197
           named item ‘$dTypeable2_@name_suffix@’
    
    ... ... @@ -210,18 +201,14 @@ objects:
    210 201
         lifted: yes
    
    211 202
         literals:
    
    212 203
           word @large_word@
    
    213
    -      word @large_word@
    
    214 204
         used items:
    
    215 205
           named item ‘static_ptr_sat_@name_suffix@’
    
    216
    -      named item ‘static_ptr_sat_@name_suffix@’
    
    217 206
       static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    218 207
         data constructor: StaticPtrInfo
    
    219 208
         lifted: yes
    
    220 209
         literals: <none>
    
    221 210
         used items:
    
    222 211
           named item ‘static_ptr_sat_@name_suffix@’
    
    223
    -      named item ‘static_ptr_sat_@name_suffix@’
    
    224
    -      named item ‘static_ptr_sat_@name_suffix@’
    
    225 212
       object ‘static_ptr_sat_@name_suffix@’:
    
    226 213
         arity: 0
    
    227 214
         literals: top-level string "main"
    
    ... ... @@ -244,16 +231,15 @@ objects:
    244 231
         literals: <none>
    
    245 232
         used items:
    
    246 233
           named item ‘static_ptr_sat_@name_suffix@’
    
    247
    -      named item ‘static_ptr_sat_@name_suffix@’
    
    248 234
       static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    249 235
         data constructor: I#
    
    250 236
         lifted: yes
    
    251
    -    literals: word 17
    
    237
    +    literals: word @large_word@
    
    252 238
         used items: <none>
    
    253 239
       static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    254 240
         data constructor: I#
    
    255 241
         lifted: yes
    
    256
    -    literals: word 24
    
    242
    +    literals: word @large_word@
    
    257 243
         used items: <none>
    
    258 244
       object ‘static_ptr_sat_@name_suffix@’:
    
    259 245
         arity: 0
    
    ... ... @@ -262,7 +248,6 @@ objects:
    262 248
       object ‘positiveFibonaccis1_@name_suffix@’:
    
    263 249
         arity: 0
    
    264 250
         literals:
    
    265
    -      label ‘_hpc_tickboxes_Example_hpc’
    
    266 251
           label ‘_hpc_tickboxes_Example_hpc’
    
    267 252
           info table of ‘(:)’
    
    268 253
         used items:
    
    ... ... @@ -290,7 +275,6 @@ objects:
    290 275
       object ‘fibonaccis’:
    
    291 276
         arity: 0
    
    292 277
         literals:
    
    293
    -      label ‘_hpc_tickboxes_Example_hpc’
    
    294 278
           label ‘_hpc_tickboxes_Example_hpc’
    
    295 279
           info table of ‘(:)’
    
    296 280
         used items:
    
    ... ... @@ -346,17 +330,16 @@ objects:
    346 330
             literals:
    
    347 331
               label ‘strlen’
    
    348 332
               word 0
    
    349
    -          foreign function of type ‘Pointer -> UInt64
    
    333
    +          foreign function of type ‘Pointer -> UInt@word_size@
    
    350 334
             used items:
    
    351 335
               object ‘wild_@name_suffix@’:
    
    352 336
                 arity: 0
    
    353
    -            literals: info table of ‘W64#’
    
    337
    +            literals: info table of ‘W@word_size@#’
    
    354 338
                 used items: <none>
    
    355 339
       static-construction object ‘$tc'Nested’:
    
    356 340
         data constructor: TyCon
    
    357 341
         lifted: yes
    
    358 342
         literals:
    
    359
    -      word @large_word@
    
    360 343
           word @large_word@
    
    361 344
           word 1
    
    362 345
         used items:
    
    ... ... @@ -393,7 +376,6 @@ objects:
    393 376
         data constructor: TyCon
    
    394 377
         lifted: yes
    
    395 378
         literals:
    
    396
    -      word @large_word@
    
    397 379
           word @large_word@
    
    398 380
           word 1
    
    399 381
         used items:
    
    ... ... @@ -430,7 +412,6 @@ objects:
    430 412
         data constructor: TyCon
    
    431 413
         lifted: yes
    
    432 414
         literals:
    
    433
    -      word @large_word@
    
    434 415
           word @large_word@
    
    435 416
           word 0
    
    436 417
         used items:
    
    ... ... @@ -446,7 +427,6 @@ objects:
    446 427
         data constructor: TyCon
    
    447 428
         lifted: yes
    
    448 429
         literals:
    
    449
    -      word @large_word@
    
    450 430
           word @large_word@
    
    451 431
           word 2
    
    452 432
         used items:
    
    ... ... @@ -478,12 +458,10 @@ objects:
    478 458
         literals: <none>
    
    479 459
         used items:
    
    480 460
           named item ‘$krep7_@name_suffix@’
    
    481
    -      named item ‘$krep7_@name_suffix@’
    
    482 461
       static-construction object ‘$tc'Leaf’:
    
    483 462
         data constructor: TyCon
    
    484 463
         lifted: yes
    
    485 464
         literals:
    
    486
    -      word @large_word@
    
    487 465
           word @large_word@
    
    488 466
           word 2
    
    489 467
         used items:
    
    ... ... @@ -527,7 +505,6 @@ objects:
    527 505
         data constructor: TyCon
    
    528 506
         lifted: yes
    
    529 507
         literals:
    
    530
    -      word @large_word@
    
    531 508
           word @large_word@
    
    532 509
           word 0
    
    533 510
         used items:
    
    ... ... @@ -595,7 +572,6 @@ objects:
    595 572
             arity: 0
    
    596 573
             literals:
    
    597 574
               label ‘_hpc_tickboxes_Example_hpc’
    
    598
    -          label ‘_hpc_tickboxes_Example_hpc’
    
    599 575
             used items:
    
    600 576
               object ‘divides_sat_@name_suffix@’:
    
    601 577
                 arity: 1
    

  • testsuite/tests/show-bytecode/show-bytecode-hpc.stdout-javascript-unknown-ghcjs
    1
    +[1 of 1] Compiling Example          ( Example.hs, Example.gbc )
    
    2
    +module: Example
    
    3
    +hash: @hash@
    
    4
    +objects:
    
    5
    +  object ‘primesPtr’:
    
    6
    +    arity: 0
    
    7
    +    literals:
    
    8
    +      label ‘_hpc_tickboxes_Example_hpc’
    
    9
    +    used items:
    
    10
    +      named item ‘static_ptr1’
    
    11
    +      named item ‘$dTypeable2_@name_suffix@’
    
    12
    +      named item ‘$fIsStaticStaticPtr’
    
    13
    +  static-construction object ‘static_ptr1’:
    
    14
    +    data constructor: StaticPtr
    
    15
    +    lifted: yes
    
    16
    +    literals:
    
    17
    +      word @large_word@
    
    18
    +    used items:
    
    19
    +      named item ‘static_ptr1_sat_@name_suffix@’
    
    20
    +  static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    21
    +    data constructor: StaticPtrInfo
    
    22
    +    lifted: yes
    
    23
    +    literals: <none>
    
    24
    +    used items:
    
    25
    +      named item ‘static_ptr1_sat_@name_suffix@’
    
    26
    +  object ‘static_ptr1_sat_@name_suffix@’:
    
    27
    +    arity: 0
    
    28
    +    literals: top-level string "main"
    
    29
    +    used items:
    
    30
    +      object ‘static_ptr1_sat_@name_suffix@’:
    
    31
    +        arity: 0
    
    32
    +        literals: <none>
    
    33
    +        used items: named item ‘unpackCString#’
    
    34
    +  object ‘static_ptr1_sat_@name_suffix@’:
    
    35
    +    arity: 0
    
    36
    +    literals: top-level string "Example"
    
    37
    +    used items:
    
    38
    +      object ‘static_ptr1_sat_@name_suffix@’:
    
    39
    +        arity: 0
    
    40
    +        literals: <none>
    
    41
    +        used items: named item ‘unpackCString#’
    
    42
    +  static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    43
    +    data constructor: (,)
    
    44
    +    lifted: yes
    
    45
    +    literals: <none>
    
    46
    +    used items:
    
    47
    +      named item ‘static_ptr1_sat_@name_suffix@’
    
    48
    +  static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    49
    +    data constructor: I#
    
    50
    +    lifted: yes
    
    51
    +    literals: word @large_word@
    
    52
    +    used items: <none>
    
    53
    +  static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    54
    +    data constructor: I#
    
    55
    +    lifted: yes
    
    56
    +    literals: word @large_word@
    
    57
    +    used items: <none>
    
    58
    +  object ‘static_ptr1_sat_@name_suffix@’:
    
    59
    +    arity: 0
    
    60
    +    literals: label ‘_hpc_tickboxes_Example_hpc’
    
    61
    +    used items: named item ‘primes’
    
    62
    +  object ‘primes2_@name_suffix@’:
    
    63
    +    arity: 0
    
    64
    +    literals: label ‘_hpc_tickboxes_Example_hpc’
    
    65
    +    used items:
    
    66
    +      object ‘primes2_sat_@name_suffix@’:
    
    67
    +        arity: 0
    
    68
    +        literals: label ‘_hpc_tickboxes_Example_hpc’
    
    69
    +        used items:
    
    70
    +          object ‘primes2_sat_@name_suffix@’:
    
    71
    +            arity: 0
    
    72
    +            literals:
    
    73
    +              label ‘_hpc_tickboxes_Example_hpc’
    
    74
    +              word 3
    
    75
    +              info table of ‘IS’
    
    76
    +            used items:
    
    77
    +              named item ‘$fNumNatural’
    
    78
    +              named item ‘fromInteger’
    
    79
    +          named item ‘$fEnumNatural’
    
    80
    +          named item ‘enumFrom’
    
    81
    +      object ‘primes2_sat_@name_suffix@’:
    
    82
    +        arity: 0
    
    83
    +        literals: label ‘_hpc_tickboxes_Example_hpc’
    
    84
    +        used items: named item ‘isPrime_@name_suffix@’
    
    85
    +      named item ‘filter’
    
    86
    +  object ‘isPrime_@name_suffix@’:
    
    87
    +    arity: 1
    
    88
    +    literals:
    
    89
    +      label ‘_hpc_tickboxes_Example_hpc’
    
    90
    +    used items:
    
    91
    +      object ‘isPrime_sat_@name_suffix@’:
    
    92
    +        arity: 1
    
    93
    +        literals: label ‘_hpc_tickboxes_Example_hpc’
    
    94
    +        used items:
    
    95
    +          object ‘isPrime_sat_@name_suffix@’:
    
    96
    +            arity: 1
    
    97
    +            literals: label ‘_hpc_tickboxes_Example_hpc’
    
    98
    +            used items:
    
    99
    +              object ‘isPrime_sat_@name_suffix@’:
    
    100
    +                arity: 0
    
    101
    +                literals: label ‘_hpc_tickboxes_Example_hpc’
    
    102
    +                used items: named item ‘primes’
    
    103
    +              object ‘isPrime_sat_@name_suffix@’:
    
    104
    +                arity: 1
    
    105
    +                literals: label ‘_hpc_tickboxes_Example_hpc’
    
    106
    +                used items:
    
    107
    +                  object ‘isPrime_sat_@name_suffix@’:
    
    108
    +                    arity: 0
    
    109
    +                    literals: label ‘_hpc_tickboxes_Example_hpc’
    
    110
    +                    used items:
    
    111
    +                      object ‘v_@name_suffix@’:
    
    112
    +                        arity: 0
    
    113
    +                        literals: label ‘_hpc_tickboxes_Example_hpc’
    
    114
    +                        used items:
    
    115
    +                          named item ‘$fIntegralInteger’
    
    116
    +                          named item ‘$fNumNatural’
    
    117
    +                          named item ‘(^)’
    
    118
    +                      object ‘v1_@name_suffix@’:
    
    119
    +                        arity: 0
    
    120
    +                        literals:
    
    121
    +                          label ‘_hpc_tickboxes_Example_hpc’
    
    122
    +                          word 2
    
    123
    +                          info table of ‘IS’
    
    124
    +                        used items: <none>
    
    125
    +                      object ‘pap_@name_suffix@’:
    
    126
    +                        arity: 3
    
    127
    +                        literals: <none>
    
    128
    +                        used items: <none>
    
    129
    +                  object ‘isPrime_sat_@name_suffix@’:
    
    130
    +                    arity: 1
    
    131
    +                    literals: label ‘_hpc_tickboxes_Example_hpc’
    
    132
    +                    used items:
    
    133
    +                      object ‘v_@name_suffix@’:
    
    134
    +                        arity: 0
    
    135
    +                        literals: label ‘_hpc_tickboxes_Example_hpc’
    
    136
    +                        used items:
    
    137
    +                          named item ‘$fOrdNatural’
    
    138
    +                          named item ‘(<=)’
    
    139
    +                      object ‘v1_@name_suffix@’:
    
    140
    +                        arity: 1
    
    141
    +                        literals: label ‘_hpc_tickboxes_Example_hpc’
    
    142
    +                        used items: <none>
    
    143
    +                      object ‘pap_@name_suffix@’:
    
    144
    +                        arity: 3
    
    145
    +                        literals: <none>
    
    146
    +                        used items: <none>
    
    147
    +                  named item ‘(.)’
    
    148
    +              named item ‘takeWhile’
    
    149
    +          object ‘isPrime_sat_@name_suffix@’:
    
    150
    +            arity: 1
    
    151
    +            literals: label ‘_hpc_tickboxes_Example_hpc’
    
    152
    +            used items:
    
    153
    +              object ‘v_@name_suffix@’:
    
    154
    +                arity: 0
    
    155
    +                literals: label ‘_hpc_tickboxes_Example_hpc’
    
    156
    +                used items:
    
    157
    +                  object ‘pap_@name_suffix@’:
    
    158
    +                    arity: 2
    
    159
    +                    literals: <none>
    
    160
    +                    used items:
    
    161
    +                      named item ‘$fIntegralNatural’
    
    162
    +                      named item ‘divides’
    
    163
    +              object ‘v1_@name_suffix@’:
    
    164
    +                arity: 1
    
    165
    +                literals: label ‘_hpc_tickboxes_Example_hpc’
    
    166
    +                used items: <none>
    
    167
    +              object ‘pap_@name_suffix@’:
    
    168
    +                arity: 3
    
    169
    +                literals: <none>
    
    170
    +                used items: <none>
    
    171
    +          named item ‘$fFoldableList’
    
    172
    +          named item ‘any’
    
    173
    +      named item ‘not’
    
    174
    +  object ‘primes’:
    
    175
    +    arity: 0
    
    176
    +    literals:
    
    177
    +      label ‘_hpc_tickboxes_Example_hpc’
    
    178
    +      info table of ‘(:)’
    
    179
    +    used items:
    
    180
    +      named item ‘primes2_@name_suffix@’
    
    181
    +      named item ‘primes1_@name_suffix@’
    
    182
    +  object ‘primes1_@name_suffix@’:
    
    183
    +    arity: 0
    
    184
    +    literals:
    
    185
    +      label ‘_hpc_tickboxes_Example_hpc’
    
    186
    +      word 2
    
    187
    +      info table of ‘IS’
    
    188
    +    used items:
    
    189
    +      named item ‘$fNumNatural’
    
    190
    +      named item ‘fromInteger’
    
    191
    +  object ‘fibonaccisPtr’:
    
    192
    +    arity: 0
    
    193
    +    literals:
    
    194
    +      label ‘_hpc_tickboxes_Example_hpc’
    
    195
    +    used items:
    
    196
    +      named item ‘static_ptr’
    
    197
    +      named item ‘$dTypeable2_@name_suffix@’
    
    198
    +      named item ‘$fIsStaticStaticPtr’
    
    199
    +  static-construction object ‘static_ptr’:
    
    200
    +    data constructor: StaticPtr
    
    201
    +    lifted: yes
    
    202
    +    literals:
    
    203
    +      word @large_word@
    
    204
    +    used items:
    
    205
    +      named item ‘static_ptr_sat_@name_suffix@’
    
    206
    +  static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    207
    +    data constructor: StaticPtrInfo
    
    208
    +    lifted: yes
    
    209
    +    literals: <none>
    
    210
    +    used items:
    
    211
    +      named item ‘static_ptr_sat_@name_suffix@’
    
    212
    +  object ‘static_ptr_sat_@name_suffix@’:
    
    213
    +    arity: 0
    
    214
    +    literals: top-level string "main"
    
    215
    +    used items:
    
    216
    +      object ‘static_ptr_sat_@name_suffix@’:
    
    217
    +        arity: 0
    
    218
    +        literals: <none>
    
    219
    +        used items: named item ‘unpackCString#’
    
    220
    +  object ‘static_ptr_sat_@name_suffix@’:
    
    221
    +    arity: 0
    
    222
    +    literals: top-level string "Example"
    
    223
    +    used items:
    
    224
    +      object ‘static_ptr_sat_@name_suffix@’:
    
    225
    +        arity: 0
    
    226
    +        literals: <none>
    
    227
    +        used items: named item ‘unpackCString#’
    
    228
    +  static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    229
    +    data constructor: (,)
    
    230
    +    lifted: yes
    
    231
    +    literals: <none>
    
    232
    +    used items:
    
    233
    +      named item ‘static_ptr_sat_@name_suffix@’
    
    234
    +  static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    235
    +    data constructor: I#
    
    236
    +    lifted: yes
    
    237
    +    literals: word @large_word@
    
    238
    +    used items: <none>
    
    239
    +  static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    240
    +    data constructor: I#
    
    241
    +    lifted: yes
    
    242
    +    literals: word @large_word@
    
    243
    +    used items: <none>
    
    244
    +  object ‘static_ptr_sat_@name_suffix@’:
    
    245
    +    arity: 0
    
    246
    +    literals: label ‘_hpc_tickboxes_Example_hpc’
    
    247
    +    used items: named item ‘fibonaccis’
    
    248
    +  object ‘positiveFibonaccis1_@name_suffix@’:
    
    249
    +    arity: 0
    
    250
    +    literals:
    
    251
    +      label ‘_hpc_tickboxes_Example_hpc’
    
    252
    +      info table of ‘(:)’
    
    253
    +    used items:
    
    254
    +      named item ‘positiveFibonaccis2_@name_suffix@’
    
    255
    +      named item ‘positiveFibonaccis_@name_suffix@’
    
    256
    +  object ‘positiveFibonaccis2_@name_suffix@’:
    
    257
    +    arity: 0
    
    258
    +    literals: label ‘_hpc_tickboxes_Example_hpc’
    
    259
    +    used items:
    
    260
    +      object ‘positiveFibonaccis2_sat_@name_suffix@’:
    
    261
    +        arity: 0
    
    262
    +        literals: label ‘_hpc_tickboxes_Example_hpc’
    
    263
    +        used items: named item ‘positiveFibonaccis1_@name_suffix@’
    
    264
    +      object ‘positiveFibonaccis2_sat_@name_suffix@’:
    
    265
    +        arity: 0
    
    266
    +        literals: label ‘_hpc_tickboxes_Example_hpc’
    
    267
    +        used items: named item ‘fibonaccis’
    
    268
    +      object ‘positiveFibonaccis2_sat_@name_suffix@’:
    
    269
    +        arity: 0
    
    270
    +        literals: label ‘_hpc_tickboxes_Example_hpc’
    
    271
    +        used items:
    
    272
    +          named item ‘$fNumNatural’
    
    273
    +          named item ‘(+)’
    
    274
    +      named item ‘zipWith’
    
    275
    +  object ‘fibonaccis’:
    
    276
    +    arity: 0
    
    277
    +    literals:
    
    278
    +      label ‘_hpc_tickboxes_Example_hpc’
    
    279
    +      info table of ‘(:)’
    
    280
    +    used items:
    
    281
    +      named item ‘fibonaccis2_@name_suffix@’
    
    282
    +      named item ‘fibonaccis1_@name_suffix@’
    
    283
    +  object ‘fibonaccis2_@name_suffix@’:
    
    284
    +    arity: 0
    
    285
    +    literals: label ‘_hpc_tickboxes_Example_hpc’
    
    286
    +    used items: named item ‘positiveFibonaccis1_@name_suffix@’
    
    287
    +  object ‘positiveFibonaccis_@name_suffix@’:
    
    288
    +    arity: 0
    
    289
    +    literals:
    
    290
    +      label ‘_hpc_tickboxes_Example_hpc’
    
    291
    +      word 1
    
    292
    +      info table of ‘IS’
    
    293
    +    used items:
    
    294
    +      named item ‘$fNumNatural’
    
    295
    +      named item ‘fromInteger’
    
    296
    +  object ‘fibonaccis1_@name_suffix@’:
    
    297
    +    arity: 0
    
    298
    +    literals:
    
    299
    +      label ‘_hpc_tickboxes_Example_hpc’
    
    300
    +      word 0
    
    301
    +      info table of ‘IS’
    
    302
    +    used items:
    
    303
    +      named item ‘$fNumNatural’
    
    304
    +      named item ‘fromInteger’
    
    305
    +  object ‘$dTypeable2_@name_suffix@’:
    
    306
    +    arity: 0
    
    307
    +    literals: <none>
    
    308
    +    used items:
    
    309
    +      named item ‘$dTypeable_@name_suffix@’
    
    310
    +      named item ‘$dTypeable1_@name_suffix@’
    
    311
    +      named item ‘mkTrAppChecked’
    
    312
    +  object ‘$dTypeable1_@name_suffix@’:
    
    313
    +    arity: 0
    
    314
    +    literals: info table of ‘[]’
    
    315
    +    used items:
    
    316
    +      named item ‘$tcList’
    
    317
    +      named item ‘mkTrCon’
    
    318
    +  object ‘$dTypeable_@name_suffix@’:
    
    319
    +    arity: 0
    
    320
    +    literals: info table of ‘[]’
    
    321
    +    used items:
    
    322
    +      named item ‘$tcNatural’
    
    323
    +      named item ‘mkTrCon’
    
    324
    +  object ‘cstrlen’:
    
    325
    +    arity: 2
    
    326
    +    literals: <none>
    
    327
    +    used items: named item ‘cstrlen1_@name_suffix@’
    
    328
    +  object ‘cstrlen1_@name_suffix@’:
    
    329
    +    arity: 2
    
    330
    +    literals: <none>
    
    331
    +    used items:
    
    332
    +      object ‘ds1_@name_suffix@’:
    
    333
    +        arity: 0
    
    334
    +        literals:
    
    335
    +          label ‘strlen’
    
    336
    +          word 0
    
    337
    +          foreign function of type ‘Pointer -> UInt@word_size@’
    
    338
    +        used items:
    
    339
    +          object ‘wild_@name_suffix@’:
    
    340
    +            arity: 0
    
    341
    +            literals: info table of ‘W@word_size@#’
    
    342
    +            used items: <none>
    
    343
    +  static-construction object ‘$tc'Nested’:
    
    344
    +    data constructor: TyCon
    
    345
    +    lifted: yes
    
    346
    +    literals:
    
    347
    +      word @large_word@
    
    348
    +      word 1
    
    349
    +    used items:
    
    350
    +      named item ‘$trModule’
    
    351
    +      named item ‘$tc'Nested2_@name_suffix@’
    
    352
    +      named item ‘$krep17_@name_suffix@’
    
    353
    +  static-construction object ‘$tc'Nested2_@name_suffix@’:
    
    354
    +    data constructor: TrNameS
    
    355
    +    lifted: yes
    
    356
    +    literals: address ‘$tc'Nested1_@name_suffix@’
    
    357
    +    used items: <none>
    
    358
    +  static-construction object ‘$krep17_@name_suffix@’:
    
    359
    +    data constructor: KindRepFun
    
    360
    +    lifted: yes
    
    361
    +    literals: <none>
    
    362
    +    used items:
    
    363
    +      named item ‘$krep16_@name_suffix@’
    
    364
    +      named item ‘$krep13_@name_suffix@’
    
    365
    +  static-construction object ‘$krep16_@name_suffix@’:
    
    366
    +    data constructor: KindRepTyConApp
    
    367
    +    lifted: yes
    
    368
    +    literals: <none>
    
    369
    +    used items:
    
    370
    +      named item ‘$tcPerfectTree’
    
    371
    +      named item ‘$krep15_@name_suffix@’
    
    372
    +  static-construction object ‘$krep15_@name_suffix@’:
    
    373
    +    data constructor: (:)
    
    374
    +    lifted: yes
    
    375
    +    literals: <none>
    
    376
    +    used items:
    
    377
    +      named item ‘$krep4_@name_suffix@’
    
    378
    +      named item ‘[]’
    
    379
    +  static-construction object ‘$tc'PerfectTree’:
    
    380
    +    data constructor: TyCon
    
    381
    +    lifted: yes
    
    382
    +    literals:
    
    383
    +      word @large_word@
    
    384
    +      word 1
    
    385
    +    used items:
    
    386
    +      named item ‘$trModule’
    
    387
    +      named item ‘$tc'PerfectTree2_@name_suffix@’
    
    388
    +      named item ‘$krep14_@name_suffix@’
    
    389
    +  static-construction object ‘$tc'PerfectTree2_@name_suffix@’:
    
    390
    +    data constructor: TrNameS
    
    391
    +    lifted: yes
    
    392
    +    literals: address ‘$tc'PerfectTree1_@name_suffix@’
    
    393
    +    used items: <none>
    
    394
    +  static-construction object ‘$krep14_@name_suffix@’:
    
    395
    +    data constructor: KindRepFun
    
    396
    +    lifted: yes
    
    397
    +    literals: <none>
    
    398
    +    used items:
    
    399
    +      named item ‘$krep1_@name_suffix@’
    
    400
    +      named item ‘$krep13_@name_suffix@’
    
    401
    +  static-construction object ‘$krep13_@name_suffix@’:
    
    402
    +    data constructor: KindRepTyConApp
    
    403
    +    lifted: yes
    
    404
    +    literals: <none>
    
    405
    +    used items:
    
    406
    +      named item ‘$tcPerfectTree’
    
    407
    +      named item ‘$krep12_@name_suffix@’
    
    408
    +  static-construction object ‘$krep12_@name_suffix@’:
    
    409
    +    data constructor: (:)
    
    410
    +    lifted: yes
    
    411
    +    literals: <none>
    
    412
    +    used items:
    
    413
    +      named item ‘$krep1_@name_suffix@’
    
    414
    +      named item ‘[]’
    
    415
    +  static-construction object ‘$tcPerfectTree’:
    
    416
    +    data constructor: TyCon
    
    417
    +    lifted: yes
    
    418
    +    literals:
    
    419
    +      word @large_word@
    
    420
    +      word 0
    
    421
    +    used items:
    
    422
    +      named item ‘$trModule’
    
    423
    +      named item ‘$tcPerfectTree2_@name_suffix@’
    
    424
    +      named item ‘krep$*Arr*’
    
    425
    +  static-construction object ‘$tcPerfectTree2_@name_suffix@’:
    
    426
    +    data constructor: TrNameS
    
    427
    +    lifted: yes
    
    428
    +    literals: address ‘$tcPerfectTree1_@name_suffix@’
    
    429
    +    used items: <none>
    
    430
    +  static-construction object ‘$tc'Node’:
    
    431
    +    data constructor: TyCon
    
    432
    +    lifted: yes
    
    433
    +    literals:
    
    434
    +      word @large_word@
    
    435
    +      word 2
    
    436
    +    used items:
    
    437
    +      named item ‘$trModule’
    
    438
    +      named item ‘$tc'Node2_@name_suffix@’
    
    439
    +      named item ‘$krep11_@name_suffix@’
    
    440
    +  static-construction object ‘$tc'Node2_@name_suffix@’:
    
    441
    +    data constructor: TrNameS
    
    442
    +    lifted: yes
    
    443
    +    literals: address ‘$tc'Node1_@name_suffix@’
    
    444
    +    used items: <none>
    
    445
    +  static-construction object ‘$krep11_@name_suffix@’:
    
    446
    +    data constructor: KindRepFun
    
    447
    +    lifted: yes
    
    448
    +    literals: <none>
    
    449
    +    used items:
    
    450
    +      named item ‘$krep7_@name_suffix@’
    
    451
    +      named item ‘$krep10_@name_suffix@’
    
    452
    +  static-construction object ‘$krep10_@name_suffix@’:
    
    453
    +    data constructor: KindRepFun
    
    454
    +    lifted: yes
    
    455
    +    literals: <none>
    
    456
    +    used items:
    
    457
    +      named item ‘$krep_@name_suffix@’
    
    458
    +      named item ‘$krep9_@name_suffix@’
    
    459
    +  static-construction object ‘$krep9_@name_suffix@’:
    
    460
    +    data constructor: KindRepFun
    
    461
    +    lifted: yes
    
    462
    +    literals: <none>
    
    463
    +    used items:
    
    464
    +      named item ‘$krep7_@name_suffix@’
    
    465
    +  static-construction object ‘$tc'Leaf’:
    
    466
    +    data constructor: TyCon
    
    467
    +    lifted: yes
    
    468
    +    literals:
    
    469
    +      word @large_word@
    
    470
    +      word 2
    
    471
    +    used items:
    
    472
    +      named item ‘$trModule’
    
    473
    +      named item ‘$tc'Leaf2_@name_suffix@’
    
    474
    +      named item ‘$krep8_@name_suffix@’
    
    475
    +  static-construction object ‘$tc'Leaf2_@name_suffix@’:
    
    476
    +    data constructor: TrNameS
    
    477
    +    lifted: yes
    
    478
    +    literals: address ‘$tc'Leaf1_@name_suffix@’
    
    479
    +    used items: <none>
    
    480
    +  static-construction object ‘$krep8_@name_suffix@’:
    
    481
    +    data constructor: KindRepFun
    
    482
    +    lifted: yes
    
    483
    +    literals: <none>
    
    484
    +    used items:
    
    485
    +      named item ‘$krep1_@name_suffix@’
    
    486
    +      named item ‘$krep7_@name_suffix@’
    
    487
    +  static-construction object ‘$krep7_@name_suffix@’:
    
    488
    +    data constructor: KindRepTyConApp
    
    489
    +    lifted: yes
    
    490
    +    literals: <none>
    
    491
    +    used items:
    
    492
    +      named item ‘$tcBinTree’
    
    493
    +      named item ‘$krep6_@name_suffix@’
    
    494
    +  static-construction object ‘$krep6_@name_suffix@’:
    
    495
    +    data constructor: (:)
    
    496
    +    lifted: yes
    
    497
    +    literals: <none>
    
    498
    +    used items:
    
    499
    +      named item ‘$krep1_@name_suffix@’
    
    500
    +      named item ‘$krep5_@name_suffix@’
    
    501
    +  static-construction object ‘$krep5_@name_suffix@’:
    
    502
    +    data constructor: (:)
    
    503
    +    lifted: yes
    
    504
    +    literals: <none>
    
    505
    +    used items:
    
    506
    +      named item ‘$krep_@name_suffix@’
    
    507
    +      named item ‘[]’
    
    508
    +  static-construction object ‘$tcBinTree’:
    
    509
    +    data constructor: TyCon
    
    510
    +    lifted: yes
    
    511
    +    literals:
    
    512
    +      word @large_word@
    
    513
    +      word 0
    
    514
    +    used items:
    
    515
    +      named item ‘$trModule’
    
    516
    +      named item ‘$tcBinTree2_@name_suffix@’
    
    517
    +      named item ‘krep$*->*->*’
    
    518
    +  static-construction object ‘$tcBinTree2_@name_suffix@’:
    
    519
    +    data constructor: TrNameS
    
    520
    +    lifted: yes
    
    521
    +    literals: address ‘$tcBinTree1_@name_suffix@’
    
    522
    +    used items: <none>
    
    523
    +  static-construction object ‘$krep4_@name_suffix@’:
    
    524
    +    data constructor: KindRepTyConApp
    
    525
    +    lifted: yes
    
    526
    +    literals: <none>
    
    527
    +    used items:
    
    528
    +      named item ‘$tcTuple2’
    
    529
    +      named item ‘$krep3_@name_suffix@’
    
    530
    +  static-construction object ‘$krep3_@name_suffix@’:
    
    531
    +    data constructor: (:)
    
    532
    +    lifted: yes
    
    533
    +    literals: <none>
    
    534
    +    used items:
    
    535
    +      named item ‘$krep1_@name_suffix@’
    
    536
    +      named item ‘$krep2_@name_suffix@’
    
    537
    +  static-construction object ‘$krep2_@name_suffix@’:
    
    538
    +    data constructor: (:)
    
    539
    +    lifted: yes
    
    540
    +    literals: <none>
    
    541
    +    used items:
    
    542
    +      named item ‘$krep1_@name_suffix@’
    
    543
    +      named item ‘[]’
    
    544
    +  static-construction object ‘$krep1_@name_suffix@’:
    
    545
    +    data constructor: KindRepVar
    
    546
    +    lifted: yes
    
    547
    +    literals: word 0
    
    548
    +    used items: <none>
    
    549
    +  static-construction object ‘$krep_@name_suffix@’:
    
    550
    +    data constructor: KindRepVar
    
    551
    +    lifted: yes
    
    552
    +    literals: word 1
    
    553
    +    used items: <none>
    
    554
    +  static-construction object ‘$trModule’:
    
    555
    +    data constructor: Module
    
    556
    +    lifted: yes
    
    557
    +    literals: <none>
    
    558
    +    used items:
    
    559
    +      named item ‘$trModule2_@name_suffix@’
    
    560
    +      named item ‘$trModule4_@name_suffix@’
    
    561
    +  static-construction object ‘$trModule4_@name_suffix@’:
    
    562
    +    data constructor: TrNameS
    
    563
    +    lifted: yes
    
    564
    +    literals: address ‘$trModule3_@name_suffix@’
    
    565
    +    used items: <none>
    
    566
    +  static-construction object ‘$trModule2_@name_suffix@’:
    
    567
    +    data constructor: TrNameS
    
    568
    +    lifted: yes
    
    569
    +    literals: address ‘$trModule1_@name_suffix@’
    
    570
    +    used items: <none>
    
    571
    +  object ‘divides’:
    
    572
    +    arity: 3
    
    573
    +    literals: <none>
    
    574
    +    used items:
    
    575
    +      object ‘$dReal_@name_suffix@’:
    
    576
    +        arity: 0
    
    577
    +        literals:
    
    578
    +          label ‘_hpc_tickboxes_Example_hpc’
    
    579
    +        used items:
    
    580
    +          object ‘divides_sat_@name_suffix@’:
    
    581
    +            arity: 1
    
    582
    +            literals:
    
    583
    +              label ‘_hpc_tickboxes_Example_hpc’
    
    584
    +              word 0
    
    585
    +              info table of ‘IS’
    
    586
    +            used items:
    
    587
    +              object ‘divides_sat_@name_suffix@’:
    
    588
    +                arity: 0
    
    589
    +                literals: <none>
    
    590
    +                used items: named item ‘fromInteger’
    
    591
    +              named item ‘$p1Real’
    
    592
    +          object ‘divides_sat_@name_suffix@’:
    
    593
    +            arity: 3
    
    594
    +            literals: label ‘_hpc_tickboxes_Example_hpc’
    
    595
    +            used items:
    
    596
    +              object ‘divides_sat_@name_suffix@’:
    
    597
    +                arity: 1
    
    598
    +                literals: label ‘_hpc_tickboxes_Example_hpc’
    
    599
    +                used items: <none>
    
    600
    +              object ‘divides_sat_@name_suffix@’:
    
    601
    +                arity: 1
    
    602
    +                literals: label ‘_hpc_tickboxes_Example_hpc’
    
    603
    +                used items: <none>
    
    604
    +              named item ‘mod’
    
    605
    +          object ‘divides_sat_@name_suffix@’:
    
    606
    +            arity: 0
    
    607
    +            literals: <none>
    
    608
    +            used items:
    
    609
    +              object ‘divides_sat_@name_suffix@’:
    
    610
    +                arity: 0
    
    611
    +                literals: <none>
    
    612
    +                used items: named item ‘(==)’
    
    613
    +              named item ‘$p1Ord’
    
    614
    +          named item ‘$p2Real’
    
    615
    +      named item ‘$p1Integral’
    
    616
    +  object ‘Node’:
    
    617
    +    arity: 3
    
    618
    +    literals: info table of ‘Node’
    
    619
    +    used items: <none>
    
    620
    +  object ‘Leaf’:
    
    621
    +    arity: 1
    
    622
    +    literals: info table of ‘Leaf’
    
    623
    +    used items: <none>
    
    624
    +  object ‘Nested’:
    
    625
    +    arity: 1
    
    626
    +    literals: info table of ‘Nested’
    
    627
    +    used items: <none>
    
    628
    +  object ‘PerfectTree’:
    
    629
    +    arity: 1
    
    630
    +    literals: info table of ‘PerfectTree’
    
    631
    +    used items: <none>
    
    632
    +data constructor info tables:
    
    633
    +  info table of ‘PerfectTree’:
    
    634
    +    number of words for pointers: 1
    
    635
    +    number of words for non-pointers: 0
    
    636
    +  info table of ‘Nested’:
    
    637
    +    number of words for pointers: 1
    
    638
    +    number of words for non-pointers: 0
    
    639
    +  info table of ‘Leaf’:
    
    640
    +    number of words for pointers: 1
    
    641
    +    number of words for non-pointers: 0
    
    642
    +  info table of ‘Node’:
    
    643
    +    number of words for pointers: 3
    
    644
    +    number of words for non-pointers: 0
    
    645
    +top-level strings:
    
    646
    +  $tc'Nested1_@name_suffix@: "'Nested"
    
    647
    +  $tc'PerfectTree1_@name_suffix@: "'PerfectTree"
    
    648
    +  $tcPerfectTree1_@name_suffix@: "PerfectTree"
    
    649
    +  $tc'Node1_@name_suffix@: "'Node"
    
    650
    +  $tc'Leaf1_@name_suffix@: "'Leaf"
    
    651
    +  $tcBinTree1_@name_suffix@: "BinTree"
    
    652
    +  $trModule3_@name_suffix@: "Example"
    
    653
    +  $trModule1_@name_suffix@: "main"
    
    654
    +breakpoints: <none>
    
    655
    +static-pointer table entries:
    
    656
    +  @hash@: static_ptr
    
    657
    +  @hash@: static_ptr1
    
    658
    +HPC information:
    
    659
    +  hash: @hash@
    
    660
    +  tick box: _hpc_tickboxes_Example_hpc
    
    661
    +  number of ticks: 45
    
    662
    +

  • testsuite/tests/show-bytecode/show-bytecode-vanilla.stdout
    ... ... @@ -14,7 +14,6 @@ objects:
    14 14
         lifted: yes
    
    15 15
         literals:
    
    16 16
           word @large_word@
    
    17
    -      word @large_word@
    
    18 17
         used items:
    
    19 18
           named item ‘static_ptr1_sat_@name_suffix@’
    
    20 19
           named item ‘primes’
    
    ... ... @@ -24,8 +23,6 @@ objects:
    24 23
         literals: <none>
    
    25 24
         used items:
    
    26 25
           named item ‘static_ptr1_sat_@name_suffix@’
    
    27
    -      named item ‘static_ptr1_sat_@name_suffix@’
    
    28
    -      named item ‘static_ptr1_sat_@name_suffix@’
    
    29 26
       object ‘static_ptr1_sat_@name_suffix@’:
    
    30 27
         arity: 0
    
    31 28
         literals: top-level string "main"
    
    ... ... @@ -48,16 +45,15 @@ objects:
    48 45
         literals: <none>
    
    49 46
         used items:
    
    50 47
           named item ‘static_ptr1_sat_@name_suffix@’
    
    51
    -      named item ‘static_ptr1_sat_@name_suffix@’
    
    52 48
       static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    53 49
         data constructor: I#
    
    54 50
         lifted: yes
    
    55
    -    literals: word 29
    
    51
    +    literals: word @large_word@
    
    56 52
         used items: <none>
    
    57 53
       static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    58 54
         data constructor: I#
    
    59 55
         lifted: yes
    
    60
    -    literals: word 20
    
    56
    +    literals: word @large_word@
    
    61 57
         used items: <none>
    
    62 58
       object ‘primes2_@name_suffix@’:
    
    63 59
         arity: 0
    
    ... ... @@ -162,7 +158,6 @@ objects:
    162 158
         lifted: yes
    
    163 159
         literals:
    
    164 160
           word @large_word@
    
    165
    -      word @large_word@
    
    166 161
         used items:
    
    167 162
           named item ‘static_ptr_sat_@name_suffix@’
    
    168 163
           named item ‘fibonaccis’
    
    ... ... @@ -172,8 +167,6 @@ objects:
    172 167
         literals: <none>
    
    173 168
         used items:
    
    174 169
           named item ‘static_ptr_sat_@name_suffix@’
    
    175
    -      named item ‘static_ptr_sat_@name_suffix@’
    
    176
    -      named item ‘static_ptr_sat_@name_suffix@’
    
    177 170
       object ‘static_ptr_sat_@name_suffix@’:
    
    178 171
         arity: 0
    
    179 172
         literals: top-level string "main"
    
    ... ... @@ -196,16 +189,15 @@ objects:
    196 189
         literals: <none>
    
    197 190
         used items:
    
    198 191
           named item ‘static_ptr_sat_@name_suffix@’
    
    199
    -      named item ‘static_ptr_sat_@name_suffix@’
    
    200 192
       static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    201 193
         data constructor: I#
    
    202 194
         lifted: yes
    
    203
    -    literals: word 17
    
    195
    +    literals: word @large_word@
    
    204 196
         used items: <none>
    
    205 197
       static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    206 198
         data constructor: I#
    
    207 199
         lifted: yes
    
    208
    -    literals: word 24
    
    200
    +    literals: word @large_word@
    
    209 201
         used items: <none>
    
    210 202
       object ‘positiveFibonaccis2_@name_suffix@’:
    
    211 203
         arity: 0
    
    ... ... @@ -287,17 +279,16 @@ objects:
    287 279
             literals:
    
    288 280
               label ‘strlen’
    
    289 281
               word 0
    
    290
    -          foreign function of type ‘Pointer -> UInt64
    
    282
    +          foreign function of type ‘Pointer -> UInt@word_size@
    
    291 283
             used items:
    
    292 284
               object ‘wild_@name_suffix@’:
    
    293 285
                 arity: 0
    
    294
    -            literals: info table of ‘W64#’
    
    286
    +            literals: info table of ‘W@word_size@#’
    
    295 287
                 used items: <none>
    
    296 288
       static-construction object ‘$tc'Nested’:
    
    297 289
         data constructor: TyCon
    
    298 290
         lifted: yes
    
    299 291
         literals:
    
    300
    -      word @large_word@
    
    301 292
           word @large_word@
    
    302 293
           word 1
    
    303 294
         used items:
    
    ... ... @@ -334,7 +325,6 @@ objects:
    334 325
         data constructor: TyCon
    
    335 326
         lifted: yes
    
    336 327
         literals:
    
    337
    -      word @large_word@
    
    338 328
           word @large_word@
    
    339 329
           word 1
    
    340 330
         used items:
    
    ... ... @@ -371,7 +361,6 @@ objects:
    371 361
         data constructor: TyCon
    
    372 362
         lifted: yes
    
    373 363
         literals:
    
    374
    -      word @large_word@
    
    375 364
           word @large_word@
    
    376 365
           word 0
    
    377 366
         used items:
    
    ... ... @@ -387,7 +376,6 @@ objects:
    387 376
         data constructor: TyCon
    
    388 377
         lifted: yes
    
    389 378
         literals:
    
    390
    -      word @large_word@
    
    391 379
           word @large_word@
    
    392 380
           word 2
    
    393 381
         used items:
    
    ... ... @@ -419,12 +407,10 @@ objects:
    419 407
         literals: <none>
    
    420 408
         used items:
    
    421 409
           named item ‘$krep7_@name_suffix@’
    
    422
    -      named item ‘$krep7_@name_suffix@’
    
    423 410
       static-construction object ‘$tc'Leaf’:
    
    424 411
         data constructor: TyCon
    
    425 412
         lifted: yes
    
    426 413
         literals:
    
    427
    -      word @large_word@
    
    428 414
           word @large_word@
    
    429 415
           word 2
    
    430 416
         used items:
    
    ... ... @@ -468,7 +454,6 @@ objects:
    468 454
         data constructor: TyCon
    
    469 455
         lifted: yes
    
    470 456
         literals:
    
    471
    -      word @large_word@
    
    472 457
           word @large_word@
    
    473 458
           word 0
    
    474 459
         used items:
    

  • testsuite/tests/show-bytecode/show-bytecode-vanilla.stdout-javascript-unknown-ghcjs
    1
    +[1 of 1] Compiling Example          ( Example.hs, Example.gbc )
    
    2
    +module: Example
    
    3
    +hash: @hash@
    
    4
    +objects:
    
    5
    +  object ‘primesPtr’:
    
    6
    +    arity: 0
    
    7
    +    literals: <none>
    
    8
    +    used items:
    
    9
    +      named item ‘static_ptr1’
    
    10
    +      named item ‘$dTypeable2_@name_suffix@’
    
    11
    +      named item ‘$fIsStaticStaticPtr’
    
    12
    +  static-construction object ‘static_ptr1’:
    
    13
    +    data constructor: StaticPtr
    
    14
    +    lifted: yes
    
    15
    +    literals:
    
    16
    +      word @large_word@
    
    17
    +    used items:
    
    18
    +      named item ‘static_ptr1_sat_@name_suffix@’
    
    19
    +      named item ‘primes’
    
    20
    +  static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    21
    +    data constructor: StaticPtrInfo
    
    22
    +    lifted: yes
    
    23
    +    literals: <none>
    
    24
    +    used items:
    
    25
    +      named item ‘static_ptr1_sat_@name_suffix@’
    
    26
    +  object ‘static_ptr1_sat_@name_suffix@’:
    
    27
    +    arity: 0
    
    28
    +    literals: top-level string "main"
    
    29
    +    used items:
    
    30
    +      object ‘static_ptr1_sat_@name_suffix@’:
    
    31
    +        arity: 0
    
    32
    +        literals: <none>
    
    33
    +        used items: named item ‘unpackCString#’
    
    34
    +  object ‘static_ptr1_sat_@name_suffix@’:
    
    35
    +    arity: 0
    
    36
    +    literals: top-level string "Example"
    
    37
    +    used items:
    
    38
    +      object ‘static_ptr1_sat_@name_suffix@’:
    
    39
    +        arity: 0
    
    40
    +        literals: <none>
    
    41
    +        used items: named item ‘unpackCString#’
    
    42
    +  static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    43
    +    data constructor: (,)
    
    44
    +    lifted: yes
    
    45
    +    literals: <none>
    
    46
    +    used items:
    
    47
    +      named item ‘static_ptr1_sat_@name_suffix@’
    
    48
    +  static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    49
    +    data constructor: I#
    
    50
    +    lifted: yes
    
    51
    +    literals: word @large_word@
    
    52
    +    used items: <none>
    
    53
    +  static-construction object ‘static_ptr1_sat_@name_suffix@’:
    
    54
    +    data constructor: I#
    
    55
    +    lifted: yes
    
    56
    +    literals: word @large_word@
    
    57
    +    used items: <none>
    
    58
    +  object ‘primes2_@name_suffix@’:
    
    59
    +    arity: 0
    
    60
    +    literals: <none>
    
    61
    +    used items:
    
    62
    +      named item ‘primes2_sat_@name_suffix@’
    
    63
    +      named item ‘isPrime_@name_suffix@’
    
    64
    +      named item ‘filter’
    
    65
    +  object ‘isPrime_@name_suffix@’:
    
    66
    +    arity: 1
    
    67
    +    literals: <none>
    
    68
    +    used items:
    
    69
    +      object ‘isPrime_sat_@name_suffix@’:
    
    70
    +        arity: 1
    
    71
    +        literals: <none>
    
    72
    +        used items:
    
    73
    +          object ‘isPrime_sat_@name_suffix@’:
    
    74
    +            arity: 1
    
    75
    +            literals: <none>
    
    76
    +            used items:
    
    77
    +              object ‘isPrime_sat_@name_suffix@’:
    
    78
    +                arity: 1
    
    79
    +                literals:
    
    80
    +                  word 2
    
    81
    +                  info table of ‘IS’
    
    82
    +                used items:
    
    83
    +                  object ‘v_@name_suffix@’:
    
    84
    +                    arity: 0
    
    85
    +                    literals: <none>
    
    86
    +                    used items:
    
    87
    +                      named item ‘$fIntegralInteger’
    
    88
    +                      named item ‘$fNumNatural’
    
    89
    +                      named item ‘(^)’
    
    90
    +                  object ‘isPrime_sat_@name_suffix@’:
    
    91
    +                    arity: 3
    
    92
    +                    literals: <none>
    
    93
    +                    used items: <none>
    
    94
    +                  object ‘v_@name_suffix@’:
    
    95
    +                    arity: 0
    
    96
    +                    literals: <none>
    
    97
    +                    used items:
    
    98
    +                      named item ‘$fOrdNatural’
    
    99
    +                      named item ‘(<=)’
    
    100
    +                  object ‘isPrime_sat_@name_suffix@’:
    
    101
    +                    arity: 3
    
    102
    +                    literals: <none>
    
    103
    +                    used items: <none>
    
    104
    +                  named item ‘(.)’
    
    105
    +              named item ‘primes’
    
    106
    +              named item ‘takeWhile’
    
    107
    +          object ‘isPrime_sat_@name_suffix@’:
    
    108
    +            arity: 2
    
    109
    +            literals: <none>
    
    110
    +            used items:
    
    111
    +              named item ‘$fIntegralNatural’
    
    112
    +              named item ‘divides’
    
    113
    +          named item ‘$fFoldableList’
    
    114
    +          named item ‘any’
    
    115
    +      named item ‘not’
    
    116
    +  static-construction object ‘primes’:
    
    117
    +    data constructor: (:)
    
    118
    +    lifted: yes
    
    119
    +    literals: <none>
    
    120
    +    used items:
    
    121
    +      named item ‘primes1_@name_suffix@’
    
    122
    +      named item ‘primes2_@name_suffix@’
    
    123
    +  object ‘primes2_sat_@name_suffix@’:
    
    124
    +    arity: 0
    
    125
    +    literals: <none>
    
    126
    +    used items:
    
    127
    +      object ‘primes2_sat_@name_suffix@’:
    
    128
    +        arity: 0
    
    129
    +        literals:
    
    130
    +          word 3
    
    131
    +          info table of ‘IS’
    
    132
    +        used items:
    
    133
    +          named item ‘$fNumNatural’
    
    134
    +          named item ‘fromInteger’
    
    135
    +      named item ‘$fEnumNatural’
    
    136
    +      named item ‘enumFrom’
    
    137
    +  object ‘primes1_@name_suffix@’:
    
    138
    +    arity: 0
    
    139
    +    literals: <none>
    
    140
    +    used items:
    
    141
    +      named item ‘primes1_sat_@name_suffix@’
    
    142
    +      named item ‘$fNumNatural’
    
    143
    +      named item ‘fromInteger’
    
    144
    +  static-construction object ‘primes1_sat_@name_suffix@’:
    
    145
    +    data constructor: IS
    
    146
    +    lifted: yes
    
    147
    +    literals: word 2
    
    148
    +    used items: <none>
    
    149
    +  object ‘fibonaccisPtr’:
    
    150
    +    arity: 0
    
    151
    +    literals: <none>
    
    152
    +    used items:
    
    153
    +      named item ‘static_ptr’
    
    154
    +      named item ‘$dTypeable2_@name_suffix@’
    
    155
    +      named item ‘$fIsStaticStaticPtr’
    
    156
    +  static-construction object ‘static_ptr’:
    
    157
    +    data constructor: StaticPtr
    
    158
    +    lifted: yes
    
    159
    +    literals:
    
    160
    +      word @large_word@
    
    161
    +    used items:
    
    162
    +      named item ‘static_ptr_sat_@name_suffix@’
    
    163
    +      named item ‘fibonaccis’
    
    164
    +  static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    165
    +    data constructor: StaticPtrInfo
    
    166
    +    lifted: yes
    
    167
    +    literals: <none>
    
    168
    +    used items:
    
    169
    +      named item ‘static_ptr_sat_@name_suffix@’
    
    170
    +  object ‘static_ptr_sat_@name_suffix@’:
    
    171
    +    arity: 0
    
    172
    +    literals: top-level string "main"
    
    173
    +    used items:
    
    174
    +      object ‘static_ptr_sat_@name_suffix@’:
    
    175
    +        arity: 0
    
    176
    +        literals: <none>
    
    177
    +        used items: named item ‘unpackCString#’
    
    178
    +  object ‘static_ptr_sat_@name_suffix@’:
    
    179
    +    arity: 0
    
    180
    +    literals: top-level string "Example"
    
    181
    +    used items:
    
    182
    +      object ‘static_ptr_sat_@name_suffix@’:
    
    183
    +        arity: 0
    
    184
    +        literals: <none>
    
    185
    +        used items: named item ‘unpackCString#’
    
    186
    +  static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    187
    +    data constructor: (,)
    
    188
    +    lifted: yes
    
    189
    +    literals: <none>
    
    190
    +    used items:
    
    191
    +      named item ‘static_ptr_sat_@name_suffix@’
    
    192
    +  static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    193
    +    data constructor: I#
    
    194
    +    lifted: yes
    
    195
    +    literals: word @large_word@
    
    196
    +    used items: <none>
    
    197
    +  static-construction object ‘static_ptr_sat_@name_suffix@’:
    
    198
    +    data constructor: I#
    
    199
    +    lifted: yes
    
    200
    +    literals: word @large_word@
    
    201
    +    used items: <none>
    
    202
    +  object ‘positiveFibonaccis2_@name_suffix@’:
    
    203
    +    arity: 0
    
    204
    +    literals: <none>
    
    205
    +    used items:
    
    206
    +      named item ‘positiveFibonaccis1_@name_suffix@’
    
    207
    +      named item ‘fibonaccis’
    
    208
    +      named item ‘positiveFibonaccis2_sat_@name_suffix@’
    
    209
    +      named item ‘zipWith’
    
    210
    +  static-construction object ‘positiveFibonaccis1_@name_suffix@’:
    
    211
    +    data constructor: (:)
    
    212
    +    lifted: yes
    
    213
    +    literals: <none>
    
    214
    +    used items:
    
    215
    +      named item ‘positiveFibonaccis_@name_suffix@’
    
    216
    +      named item ‘positiveFibonaccis2_@name_suffix@’
    
    217
    +  static-construction object ‘fibonaccis’:
    
    218
    +    data constructor: (:)
    
    219
    +    lifted: yes
    
    220
    +    literals: <none>
    
    221
    +    used items:
    
    222
    +      named item ‘fibonaccis1_@name_suffix@’
    
    223
    +      named item ‘positiveFibonaccis1_@name_suffix@’
    
    224
    +  object ‘positiveFibonaccis2_sat_@name_suffix@’:
    
    225
    +    arity: 0
    
    226
    +    literals: <none>
    
    227
    +    used items:
    
    228
    +      named item ‘$fNumNatural’
    
    229
    +      named item ‘(+)’
    
    230
    +  object ‘positiveFibonaccis_@name_suffix@’:
    
    231
    +    arity: 0
    
    232
    +    literals: <none>
    
    233
    +    used items:
    
    234
    +      named item ‘positiveFibonaccis_sat_@name_suffix@’
    
    235
    +      named item ‘$fNumNatural’
    
    236
    +      named item ‘fromInteger’
    
    237
    +  static-construction object ‘positiveFibonaccis_sat_@name_suffix@’:
    
    238
    +    data constructor: IS
    
    239
    +    lifted: yes
    
    240
    +    literals: word 1
    
    241
    +    used items: <none>
    
    242
    +  object ‘fibonaccis1_@name_suffix@’:
    
    243
    +    arity: 0
    
    244
    +    literals: <none>
    
    245
    +    used items:
    
    246
    +      named item ‘fibonaccis1_sat_@name_suffix@’
    
    247
    +      named item ‘$fNumNatural’
    
    248
    +      named item ‘fromInteger’
    
    249
    +  static-construction object ‘fibonaccis1_sat_@name_suffix@’:
    
    250
    +    data constructor: IS
    
    251
    +    lifted: yes
    
    252
    +    literals: word 0
    
    253
    +    used items: <none>
    
    254
    +  object ‘$dTypeable2_@name_suffix@’:
    
    255
    +    arity: 0
    
    256
    +    literals: <none>
    
    257
    +    used items:
    
    258
    +      named item ‘$dTypeable_@name_suffix@’
    
    259
    +      named item ‘$dTypeable1_@name_suffix@’
    
    260
    +      named item ‘mkTrAppChecked’
    
    261
    +  object ‘$dTypeable1_@name_suffix@’:
    
    262
    +    arity: 0
    
    263
    +    literals: info table of ‘[]’
    
    264
    +    used items:
    
    265
    +      named item ‘$tcList’
    
    266
    +      named item ‘mkTrCon’
    
    267
    +  object ‘$dTypeable_@name_suffix@’:
    
    268
    +    arity: 0
    
    269
    +    literals: info table of ‘[]’
    
    270
    +    used items:
    
    271
    +      named item ‘$tcNatural’
    
    272
    +      named item ‘mkTrCon’
    
    273
    +  object ‘cstrlen’:
    
    274
    +    arity: 2
    
    275
    +    literals: <none>
    
    276
    +    used items:
    
    277
    +      object ‘ds1_@name_suffix@’:
    
    278
    +        arity: 0
    
    279
    +        literals:
    
    280
    +          label ‘strlen’
    
    281
    +          word 0
    
    282
    +          foreign function of type ‘Pointer -> UInt@word_size@’
    
    283
    +        used items:
    
    284
    +          object ‘wild_@name_suffix@’:
    
    285
    +            arity: 0
    
    286
    +            literals: info table of ‘W@word_size@#’
    
    287
    +            used items: <none>
    
    288
    +  static-construction object ‘$tc'Nested’:
    
    289
    +    data constructor: TyCon
    
    290
    +    lifted: yes
    
    291
    +    literals:
    
    292
    +      word @large_word@
    
    293
    +      word 1
    
    294
    +    used items:
    
    295
    +      named item ‘$trModule’
    
    296
    +      named item ‘$tc'Nested2_@name_suffix@’
    
    297
    +      named item ‘$krep17_@name_suffix@’
    
    298
    +  static-construction object ‘$tc'Nested2_@name_suffix@’:
    
    299
    +    data constructor: TrNameS
    
    300
    +    lifted: yes
    
    301
    +    literals: address ‘$tc'Nested1_@name_suffix@’
    
    302
    +    used items: <none>
    
    303
    +  static-construction object ‘$krep17_@name_suffix@’:
    
    304
    +    data constructor: KindRepFun
    
    305
    +    lifted: yes
    
    306
    +    literals: <none>
    
    307
    +    used items:
    
    308
    +      named item ‘$krep16_@name_suffix@’
    
    309
    +      named item ‘$krep13_@name_suffix@’
    
    310
    +  static-construction object ‘$krep16_@name_suffix@’:
    
    311
    +    data constructor: KindRepTyConApp
    
    312
    +    lifted: yes
    
    313
    +    literals: <none>
    
    314
    +    used items:
    
    315
    +      named item ‘$tcPerfectTree’
    
    316
    +      named item ‘$krep15_@name_suffix@’
    
    317
    +  static-construction object ‘$krep15_@name_suffix@’:
    
    318
    +    data constructor: (:)
    
    319
    +    lifted: yes
    
    320
    +    literals: <none>
    
    321
    +    used items:
    
    322
    +      named item ‘$krep4_@name_suffix@’
    
    323
    +      named item ‘[]’
    
    324
    +  static-construction object ‘$tc'PerfectTree’:
    
    325
    +    data constructor: TyCon
    
    326
    +    lifted: yes
    
    327
    +    used items: named item ‘cstrlen1_@name_suffix@’
    
    328
    +  object ‘cstrlen1_@name_suffix@’:
    
    329
    +    arity: 2
    
    330
    +    literals: <none>
    
    331
    +    literals:
    
    332
    +      word @large_word@
    
    333
    +      word 1
    
    334
    +    used items:
    
    335
    +      named item ‘$trModule’
    
    336
    +      named item ‘$tc'PerfectTree2_@name_suffix@’
    
    337
    +      named item ‘$krep14_@name_suffix@’
    
    338
    +  static-construction object ‘$tc'PerfectTree2_@name_suffix@’:
    
    339
    +    data constructor: TrNameS
    
    340
    +    lifted: yes
    
    341
    +    literals: address ‘$tc'PerfectTree1_@name_suffix@’
    
    342
    +    used items: <none>
    
    343
    +  static-construction object ‘$krep14_@name_suffix@’:
    
    344
    +    data constructor: KindRepFun
    
    345
    +    lifted: yes
    
    346
    +    literals: <none>
    
    347
    +    used items:
    
    348
    +      named item ‘$krep1_@name_suffix@’
    
    349
    +      named item ‘$krep13_@name_suffix@’
    
    350
    +  static-construction object ‘$krep13_@name_suffix@’:
    
    351
    +    data constructor: KindRepTyConApp
    
    352
    +    lifted: yes
    
    353
    +    literals: <none>
    
    354
    +    used items:
    
    355
    +      named item ‘$tcPerfectTree’
    
    356
    +      named item ‘$krep12_@name_suffix@’
    
    357
    +  static-construction object ‘$krep12_@name_suffix@’:
    
    358
    +    data constructor: (:)
    
    359
    +    lifted: yes
    
    360
    +    literals: <none>
    
    361
    +    used items:
    
    362
    +      named item ‘$krep1_@name_suffix@’
    
    363
    +      named item ‘[]’
    
    364
    +  static-construction object ‘$tcPerfectTree’:
    
    365
    +    data constructor: TyCon
    
    366
    +    lifted: yes
    
    367
    +    literals:
    
    368
    +      word @large_word@
    
    369
    +      word 0
    
    370
    +    used items:
    
    371
    +      named item ‘$trModule’
    
    372
    +      named item ‘$tcPerfectTree2_@name_suffix@’
    
    373
    +      named item ‘krep$*Arr*’
    
    374
    +  static-construction object ‘$tcPerfectTree2_@name_suffix@’:
    
    375
    +    data constructor: TrNameS
    
    376
    +    lifted: yes
    
    377
    +    literals: address ‘$tcPerfectTree1_@name_suffix@’
    
    378
    +    used items: <none>
    
    379
    +  static-construction object ‘$tc'Node’:
    
    380
    +    data constructor: TyCon
    
    381
    +    lifted: yes
    
    382
    +    literals:
    
    383
    +      word @large_word@
    
    384
    +      word 2
    
    385
    +    used items:
    
    386
    +      named item ‘$trModule’
    
    387
    +      named item ‘$tc'Node2_@name_suffix@’
    
    388
    +      named item ‘$krep11_@name_suffix@’
    
    389
    +  static-construction object ‘$tc'Node2_@name_suffix@’:
    
    390
    +    data constructor: TrNameS
    
    391
    +    lifted: yes
    
    392
    +    literals: address ‘$tc'Node1_@name_suffix@’
    
    393
    +    used items: <none>
    
    394
    +  static-construction object ‘$krep11_@name_suffix@’:
    
    395
    +    data constructor: KindRepFun
    
    396
    +    lifted: yes
    
    397
    +    literals: <none>
    
    398
    +    used items:
    
    399
    +      named item ‘$krep7_@name_suffix@’
    
    400
    +      named item ‘$krep10_@name_suffix@’
    
    401
    +  static-construction object ‘$krep10_@name_suffix@’:
    
    402
    +    data constructor: KindRepFun
    
    403
    +    lifted: yes
    
    404
    +    literals: <none>
    
    405
    +    used items:
    
    406
    +      named item ‘$krep_@name_suffix@’
    
    407
    +      named item ‘$krep9_@name_suffix@’
    
    408
    +  static-construction object ‘$krep9_@name_suffix@’:
    
    409
    +    data constructor: KindRepFun
    
    410
    +    lifted: yes
    
    411
    +    literals: <none>
    
    412
    +    used items:
    
    413
    +      named item ‘$krep7_@name_suffix@’
    
    414
    +  static-construction object ‘$tc'Leaf’:
    
    415
    +    data constructor: TyCon
    
    416
    +    lifted: yes
    
    417
    +    literals:
    
    418
    +      word @large_word@
    
    419
    +      word 2
    
    420
    +    used items:
    
    421
    +      named item ‘$trModule’
    
    422
    +      named item ‘$tc'Leaf2_@name_suffix@’
    
    423
    +      named item ‘$krep8_@name_suffix@’
    
    424
    +  static-construction object ‘$tc'Leaf2_@name_suffix@’:
    
    425
    +    data constructor: TrNameS
    
    426
    +    lifted: yes
    
    427
    +    literals: address ‘$tc'Leaf1_@name_suffix@’
    
    428
    +    used items: <none>
    
    429
    +  static-construction object ‘$krep8_@name_suffix@’:
    
    430
    +    data constructor: KindRepFun
    
    431
    +    lifted: yes
    
    432
    +    literals: <none>
    
    433
    +    used items:
    
    434
    +      named item ‘$krep1_@name_suffix@’
    
    435
    +      named item ‘$krep7_@name_suffix@’
    
    436
    +  static-construction object ‘$krep7_@name_suffix@’:
    
    437
    +    data constructor: KindRepTyConApp
    
    438
    +    lifted: yes
    
    439
    +    literals: <none>
    
    440
    +    used items:
    
    441
    +      named item ‘$tcBinTree’
    
    442
    +      named item ‘$krep6_@name_suffix@’
    
    443
    +  static-construction object ‘$krep6_@name_suffix@’:
    
    444
    +    data constructor: (:)
    
    445
    +    lifted: yes
    
    446
    +    literals: <none>
    
    447
    +    used items:
    
    448
    +      named item ‘$krep1_@name_suffix@’
    
    449
    +      named item ‘$krep5_@name_suffix@’
    
    450
    +  static-construction object ‘$krep5_@name_suffix@’:
    
    451
    +    data constructor: (:)
    
    452
    +    lifted: yes
    
    453
    +    literals: <none>
    
    454
    +    used items:
    
    455
    +      named item ‘$krep_@name_suffix@’
    
    456
    +      named item ‘[]’
    
    457
    +  static-construction object ‘$tcBinTree’:
    
    458
    +    data constructor: TyCon
    
    459
    +    lifted: yes
    
    460
    +    literals:
    
    461
    +      word @large_word@
    
    462
    +      word 0
    
    463
    +    used items:
    
    464
    +      named item ‘$trModule’
    
    465
    +      named item ‘$tcBinTree2_@name_suffix@’
    
    466
    +      named item ‘krep$*->*->*’
    
    467
    +  static-construction object ‘$tcBinTree2_@name_suffix@’:
    
    468
    +    data constructor: TrNameS
    
    469
    +    lifted: yes
    
    470
    +    literals: address ‘$tcBinTree1_@name_suffix@’
    
    471
    +    used items: <none>
    
    472
    +  static-construction object ‘$krep4_@name_suffix@’:
    
    473
    +    data constructor: KindRepTyConApp
    
    474
    +    lifted: yes
    
    475
    +    literals: <none>
    
    476
    +    used items:
    
    477
    +      named item ‘$tcTuple2’
    
    478
    +      named item ‘$krep3_@name_suffix@’
    
    479
    +  static-construction object ‘$krep3_@name_suffix@’:
    
    480
    +    data constructor: (:)
    
    481
    +    lifted: yes
    
    482
    +    literals: <none>
    
    483
    +    used items:
    
    484
    +      named item ‘$krep1_@name_suffix@’
    
    485
    +      named item ‘$krep2_@name_suffix@’
    
    486
    +  static-construction object ‘$krep2_@name_suffix@’:
    
    487
    +    data constructor: (:)
    
    488
    +    lifted: yes
    
    489
    +    literals: <none>
    
    490
    +    used items:
    
    491
    +      named item ‘$krep1_@name_suffix@’
    
    492
    +      named item ‘[]’
    
    493
    +  static-construction object ‘$krep1_@name_suffix@’:
    
    494
    +    data constructor: KindRepVar
    
    495
    +    lifted: yes
    
    496
    +    literals: word 0
    
    497
    +    used items: <none>
    
    498
    +  static-construction object ‘$krep_@name_suffix@’:
    
    499
    +    data constructor: KindRepVar
    
    500
    +    lifted: yes
    
    501
    +    literals: word 1
    
    502
    +    used items: <none>
    
    503
    +  static-construction object ‘$trModule’:
    
    504
    +    data constructor: Module
    
    505
    +    lifted: yes
    
    506
    +    literals: <none>
    
    507
    +    used items:
    
    508
    +      named item ‘$trModule2_@name_suffix@’
    
    509
    +      named item ‘$trModule4_@name_suffix@’
    
    510
    +  static-construction object ‘$trModule4_@name_suffix@’:
    
    511
    +    data constructor: TrNameS
    
    512
    +    lifted: yes
    
    513
    +    literals: address ‘$trModule3_@name_suffix@’
    
    514
    +    used items: <none>
    
    515
    +  static-construction object ‘$trModule2_@name_suffix@’:
    
    516
    +    data constructor: TrNameS
    
    517
    +    lifted: yes
    
    518
    +    literals: address ‘$trModule1_@name_suffix@’
    
    519
    +    used items: <none>
    
    520
    +  object ‘divides’:
    
    521
    +    arity: 3
    
    522
    +    literals: <none>
    
    523
    +    used items:
    
    524
    +      object ‘$dReal_@name_suffix@’:
    
    525
    +        arity: 0
    
    526
    +        literals: <none>
    
    527
    +        used items:
    
    528
    +          object ‘divides_sat_@name_suffix@’:
    
    529
    +            arity: 1
    
    530
    +            literals:
    
    531
    +              word 0
    
    532
    +              info table of ‘IS’
    
    533
    +            used items:
    
    534
    +              object ‘divides_sat_@name_suffix@’:
    
    535
    +                arity: 0
    
    536
    +                literals: <none>
    
    537
    +                used items: named item ‘fromInteger’
    
    538
    +              named item ‘$p1Real’
    
    539
    +          object ‘divides_sat_@name_suffix@’:
    
    540
    +            arity: 3
    
    541
    +            literals: <none>
    
    542
    +            used items: named item ‘mod’
    
    543
    +          object ‘divides_sat_@name_suffix@’:
    
    544
    +            arity: 0
    
    545
    +            literals: <none>
    
    546
    +            used items:
    
    547
    +              object ‘divides_sat_@name_suffix@’:
    
    548
    +                arity: 0
    
    549
    +                literals: <none>
    
    550
    +                used items: named item ‘(==)’
    
    551
    +              named item ‘$p1Ord’
    
    552
    +          named item ‘$p2Real’
    
    553
    +      named item ‘$p1Integral’
    
    554
    +  object ‘Node’:
    
    555
    +    arity: 3
    
    556
    +    literals: info table of ‘Node’
    
    557
    +    used items: <none>
    
    558
    +  object ‘Leaf’:
    
    559
    +    arity: 1
    
    560
    +    literals: info table of ‘Leaf’
    
    561
    +    used items: <none>
    
    562
    +  object ‘Nested’:
    
    563
    +    arity: 1
    
    564
    +    literals: info table of ‘Nested’
    
    565
    +    used items: <none>
    
    566
    +  object ‘PerfectTree’:
    
    567
    +    arity: 1
    
    568
    +    literals: info table of ‘PerfectTree’
    
    569
    +    used items: <none>
    
    570
    +data constructor info tables:
    
    571
    +  info table of ‘PerfectTree’:
    
    572
    +    number of words for pointers: 1
    
    573
    +    number of words for non-pointers: 0
    
    574
    +  info table of ‘Nested’:
    
    575
    +    number of words for pointers: 1
    
    576
    +    number of words for non-pointers: 0
    
    577
    +  info table of ‘Leaf’:
    
    578
    +    number of words for pointers: 1
    
    579
    +    number of words for non-pointers: 0
    
    580
    +  info table of ‘Node’:
    
    581
    +    number of words for pointers: 3
    
    582
    +    number of words for non-pointers: 0
    
    583
    +top-level strings:
    
    584
    +  $tc'Nested1_@name_suffix@: "'Nested"
    
    585
    +  $tc'PerfectTree1_@name_suffix@: "'PerfectTree"
    
    586
    +  $tcPerfectTree1_@name_suffix@: "PerfectTree"
    
    587
    +  $tc'Node1_@name_suffix@: "'Node"
    
    588
    +  $tc'Leaf1_@name_suffix@: "'Leaf"
    
    589
    +  $tcBinTree1_@name_suffix@: "BinTree"
    
    590
    +  $trModule3_@name_suffix@: "Example"
    
    591
    +  $trModule1_@name_suffix@: "main"
    
    592
    +breakpoints: <none>
    
    593
    +static-pointer table entries:
    
    594
    +  @hash@: static_ptr
    
    595
    +  @hash@: static_ptr1
    
    596
    +HPC information: <none>
    
    597
    +