Wolfgang Jeltsch pushed to branch wip/jeltsch/textual-bytecode-output at Glasgow Haskell Compiler / GHC Commits: ead5f6b1 by Wolfgang Jeltsch at 2026-07-14T21:26:49+03:00 Add tests - - - - - 6 changed files: - + testsuite/tests/show-bytecode/Example.hs - + testsuite/tests/show-bytecode/Makefile - + testsuite/tests/show-bytecode/all.T - + testsuite/tests/show-bytecode/show-bytecode-breakpoints.stdout - + testsuite/tests/show-bytecode/show-bytecode-hpc.stdout - + testsuite/tests/show-bytecode/show-bytecode-vanilla.stdout Changes: ===================================== testsuite/tests/show-bytecode/Example.hs ===================================== @@ -0,0 +1,31 @@ +{-# LANGUAGE StaticPointers #-} + +module Example where + +import Numeric.Natural (Natural) +import GHC.StaticPtr (StaticPtr) + +fibonaccis :: [Natural] +fibonaccis = 0 : positiveFibonaccis where + + positiveFibonaccis :: [Natural] + positiveFibonaccis = 1 : zipWith (+) fibonaccis positiveFibonaccis + +fibonaccisPtr :: StaticPtr [Natural] +fibonaccisPtr = static fibonaccis + +divides :: Integral a => a -> a -> Bool +k `divides` n = n `mod` k == 0 + +primes :: [Natural] +primes = 2 : filter isPrime [3 ..] where + + isPrime :: Natural -> Bool + isPrime n = not (any (`divides` n) (takeWhile ((<= n) . (^ 2)) primes)) + +primesPtr :: StaticPtr [Natural] +primesPtr = static primes + +data BinTree a b = Leaf a | Node (BinTree a b) b (BinTree a b) + +data PerfectTree a = PerfectTree a | Nested (PerfectTree (a, a)) ===================================== testsuite/tests/show-bytecode/Makefile ===================================== @@ -0,0 +1,19 @@ +TOP=../.. +include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/test.mk + +compile = '$(TEST_HC)' $(TEST_HC_OPTS) -fbyte-code -fwrite-byte-code -no-link +show = '$(TEST_HC)' $(TEST_HC_OPTS) --show-byte-code +normalize = sed -E -e 's/_[[:alnum:]]+//g' + +show-bytecode-vanilla: + $(compile) Example.hs + $(show) Example.gbc | $(normalize) + +show-bytecode-breakpoints: + $(compile) -fbreak-points Example.hs + $(show) Example.gbc | $(normalize) + +show-bytecode-hpc: + $(compile) -fhpc Example.hs + $(show) Example.gbc | $(normalize) ===================================== testsuite/tests/show-bytecode/all.T ===================================== @@ -0,0 +1,18 @@ +test( + 'show-bytecode-vanilla', + extra_files(['Example.hs']), + makefile_test, + [] +) +test( + 'show-bytecode-breakpoints', + extra_files(['Example.hs']), + makefile_test, + [] +) +test( + 'show-bytecode-hpc', + extra_files(['Example.hs']), + makefile_test, + [] +) ===================================== testsuite/tests/show-bytecode/show-bytecode-breakpoints.stdout ===================================== @@ -0,0 +1,828 @@ +[1 of 1] Compiling Example ( Example.hs, Example.gbc ) +name: Example +hash: 35e1280518690981ffc1dfa3d7c3c18e +objects: + ordinary object ‘primesPtr’: + arity: 0 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 0 + utilized items: + break array of module ‘Example’ + item named ‘static’ + item named ‘$dTypeable2’ + item named ‘$fIsStaticStaticPtr’ + static-construction object ‘static’: + data constructor name: StaticPtr + lifted: yes + literals: + word 2391484856205448807 + word 14295153105712797526 + utilized items: + item named ‘static’ + item named ‘primes’ + static-construction object ‘static’: + data constructor name: StaticPtrInfo + lifted: yes + literals: <none> + utilized items: + item named ‘static’ + item named ‘static’ + item named ‘static’ + ordinary object ‘static’: + arity: 0 + literals: top-level string "main" + utilized items: + ordinary object ‘static’: + arity: 0 + literals: <none> + utilized items: item named ‘unpackCString#’ + ordinary object ‘static’: + arity: 0 + literals: top-level string "Example" + utilized items: + ordinary object ‘static’: + arity: 0 + literals: <none> + utilized items: item named ‘unpackCString#’ + static-construction object ‘static’: + data constructor name: (,) + lifted: yes + literals: <none> + utilized items: + item named ‘static’ + item named ‘static’ + static-construction object ‘static’: + data constructor name: I# + lifted: yes + literals: word 27 + utilized items: <none> + static-construction object ‘static’: + data constructor name: I# + lifted: yes + literals: word 20 + utilized items: <none> + ordinary object ‘primes’: + arity: 0 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 2 + info table of ‘:’ + utilized items: + break array of module ‘Example’ + ordinary object ‘primes’: + arity: 0 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 1 + utilized items: + break array of module ‘Example’ + ordinary object ‘primes’: + arity: 0 + literals: <none> + utilized items: + ordinary object ‘primes’: + arity: 0 + literals: + word 3 + info table of ‘IS’ + utilized items: + item named ‘$fNumNatural’ + item named ‘fromInteger’ + item named ‘$fEnumNatural’ + item named ‘enumFrom’ + item named ‘isPrime’ + item named ‘filter’ + ordinary object ‘primes’: + arity: 0 + literals: + word 2 + info table of ‘IS’ + utilized items: + item named ‘$fNumNatural’ + item named ‘fromInteger’ + ordinary object ‘isPrime’: + arity: 1 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 9 + utilized items: + break array of module ‘Example’ + ordinary object ‘isPrime’: + arity: 1 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 8 + utilized items: + break array of module ‘Example’ + ordinary object ‘isPrime’: + arity: 1 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 7 + utilized items: + break array of module ‘Example’ + ordinary object ‘isPrime’: + arity: 1 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 6 + utilized items: + break array of module ‘Example’ + ordinary object ‘isPrime’: + arity: 0 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 5 + word 2 + info table of ‘IS’ + utilized items: + break array of module ‘Example’ + ordinary object ‘v’: + arity: 0 + literals: <none> + utilized items: + item named ‘$fIntegralInteger’ + item named ‘$fNumNatural’ + item named ‘^’ + ordinary object ‘pap’: + arity: 3 + literals: <none> + utilized items: <none> + ordinary object ‘isPrime’: + arity: 1 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 4 + utilized items: + break array of module ‘Example’ + ordinary object ‘v’: + arity: 0 + literals: <none> + utilized items: + item named ‘$fOrdNatural’ + item named ‘<=’ + ordinary object ‘pap’: + arity: 3 + literals: <none> + utilized items: <none> + item named ‘.’ + item named ‘primes’ + item named ‘takeWhile’ + ordinary object ‘isPrime’: + arity: 1 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 3 + utilized items: + break array of module ‘Example’ + ordinary object ‘pap’: + arity: 2 + literals: <none> + utilized items: + item named ‘$fIntegralNatural’ + item named ‘divides’ + item named ‘$fFoldableList’ + item named ‘any’ + item named ‘not’ + ordinary object ‘fibonaccisPtr’: + arity: 0 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 10 + utilized items: + break array of module ‘Example’ + item named ‘static’ + item named ‘$dTypeable2’ + item named ‘$fIsStaticStaticPtr’ + static-construction object ‘static’: + data constructor name: StaticPtr + lifted: yes + literals: + word 17112019464237448244 + word 14704510317759369968 + utilized items: + item named ‘static’ + item named ‘fibonaccis’ + static-construction object ‘static’: + data constructor name: StaticPtrInfo + lifted: yes + literals: <none> + utilized items: + item named ‘static’ + item named ‘static’ + item named ‘static’ + ordinary object ‘static’: + arity: 0 + literals: top-level string "main" + utilized items: + ordinary object ‘static’: + arity: 0 + literals: <none> + utilized items: item named ‘unpackCString#’ + ordinary object ‘static’: + arity: 0 + literals: top-level string "Example" + utilized items: + ordinary object ‘static’: + arity: 0 + literals: <none> + utilized items: item named ‘unpackCString#’ + static-construction object ‘static’: + data constructor name: (,) + lifted: yes + literals: <none> + utilized items: + item named ‘static’ + item named ‘static’ + static-construction object ‘static’: + data constructor name: I# + lifted: yes + literals: word 15 + utilized items: <none> + static-construction object ‘static’: + data constructor name: I# + lifted: yes + literals: word 24 + utilized items: <none> + ordinary object ‘fibonaccis’: + arity: 0 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 11 + info table of ‘:’ + utilized items: + break array of module ‘Example’ + ordinary object ‘fibonaccis’: + arity: 0 + literals: + word 0 + info table of ‘IS’ + utilized items: + item named ‘$fNumNatural’ + item named ‘fromInteger’ + item named ‘positiveFibonaccis’ + ordinary object ‘positiveFibonaccis’: + arity: 0 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 13 + info table of ‘:’ + utilized items: + break array of module ‘Example’ + ordinary object ‘positiveFibonaccis’: + arity: 0 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 12 + utilized items: + break array of module ‘Example’ + ordinary object ‘positiveFibonaccis’: + arity: 0 + literals: <none> + utilized items: + item named ‘$fNumNatural’ + item named ‘+’ + item named ‘positiveFibonaccis’ + item named ‘fibonaccis’ + item named ‘zipWith’ + ordinary object ‘positiveFibonaccis’: + arity: 0 + literals: + word 1 + info table of ‘IS’ + utilized items: + item named ‘$fNumNatural’ + item named ‘fromInteger’ + ordinary object ‘$dTypeable2’: + arity: 0 + literals: <none> + utilized items: + item named ‘$dTypeable’ + item named ‘$dTypeable1’ + item named ‘mkTrAppChecked’ + ordinary object ‘$dTypeable1’: + arity: 0 + literals: info table of ‘[]’ + utilized items: + item named ‘$tcList’ + item named ‘mkTrCon’ + ordinary object ‘$dTypeable’: + arity: 0 + literals: info table of ‘[]’ + utilized items: + item named ‘$tcNatural’ + item named ‘mkTrCon’ + static-construction object ‘$tc'Nested’: + data constructor name: TyCon + lifted: yes + literals: + word 4886352401159288042 + word 15486177717927261000 + word 1 + utilized items: + item named ‘$trModule’ + item named ‘$tc'Nested2’ + item named ‘$krep17’ + static-construction object ‘$tc'Nested2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tc'Nested1’ + utilized items: <none> + static-construction object ‘$krep17’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep16’ + item named ‘$krep13’ + static-construction object ‘$krep16’: + data constructor name: KindRepTyConApp + lifted: yes + literals: <none> + utilized items: + item named ‘$tcPerfectTree’ + item named ‘$krep15’ + static-construction object ‘$krep15’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep4’ + item named ‘[]’ + static-construction object ‘$tc'PerfectTree’: + data constructor name: TyCon + lifted: yes + literals: + word 1216274636751977258 + word 143956009589726941 + word 1 + utilized items: + item named ‘$trModule’ + item named ‘$tc'PerfectTree2’ + item named ‘$krep14’ + static-construction object ‘$tc'PerfectTree2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tc'PerfectTree1’ + utilized items: <none> + static-construction object ‘$krep14’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘$krep13’ + static-construction object ‘$krep13’: + data constructor name: KindRepTyConApp + lifted: yes + literals: <none> + utilized items: + item named ‘$tcPerfectTree’ + item named ‘$krep12’ + static-construction object ‘$krep12’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘[]’ + static-construction object ‘$tcPerfectTree’: + data constructor name: TyCon + lifted: yes + literals: + word 11330648440307610868 + word 17396431681782259314 + word 0 + utilized items: + item named ‘$trModule’ + item named ‘$tcPerfectTree2’ + item named ‘krep$*Arr*’ + static-construction object ‘$tcPerfectTree2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tcPerfectTree1’ + utilized items: <none> + static-construction object ‘$tc'Node’: + data constructor name: TyCon + lifted: yes + literals: + word 2884468726215238492 + word 558166382591591938 + word 2 + utilized items: + item named ‘$trModule’ + item named ‘$tc'Node2’ + item named ‘$krep11’ + static-construction object ‘$tc'Node2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tc'Node1’ + utilized items: <none> + static-construction object ‘$krep11’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep7’ + item named ‘$krep10’ + static-construction object ‘$krep10’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep’ + item named ‘$krep9’ + static-construction object ‘$krep9’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep7’ + item named ‘$krep7’ + static-construction object ‘$tc'Leaf’: + data constructor name: TyCon + lifted: yes + literals: + word 7677223365245394977 + word 14318463004604079067 + word 2 + utilized items: + item named ‘$trModule’ + item named ‘$tc'Leaf2’ + item named ‘$krep8’ + static-construction object ‘$tc'Leaf2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tc'Leaf1’ + utilized items: <none> + static-construction object ‘$krep8’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘$krep7’ + static-construction object ‘$krep7’: + data constructor name: KindRepTyConApp + lifted: yes + literals: <none> + utilized items: + item named ‘$tcBinTree’ + item named ‘$krep6’ + static-construction object ‘$krep6’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘$krep5’ + static-construction object ‘$krep5’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep’ + item named ‘[]’ + static-construction object ‘$tcBinTree’: + data constructor name: TyCon + lifted: yes + literals: + word 9824011489556756898 + word 1356349741031249981 + word 0 + utilized items: + item named ‘$trModule’ + item named ‘$tcBinTree2’ + item named ‘krep$*->*->*’ + static-construction object ‘$tcBinTree2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tcBinTree1’ + utilized items: <none> + static-construction object ‘$krep4’: + data constructor name: KindRepTyConApp + lifted: yes + literals: <none> + utilized items: + item named ‘$tcTuple2’ + item named ‘$krep3’ + static-construction object ‘$krep3’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘$krep2’ + static-construction object ‘$krep2’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘[]’ + static-construction object ‘$krep1’: + data constructor name: KindRepVar + lifted: yes + literals: word 0 + utilized items: <none> + static-construction object ‘$krep’: + data constructor name: KindRepVar + lifted: yes + literals: word 1 + utilized items: <none> + static-construction object ‘$trModule’: + data constructor name: Module + lifted: yes + literals: <none> + utilized items: + item named ‘$trModule2’ + item named ‘$trModule4’ + static-construction object ‘$trModule4’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$trModule3’ + utilized items: <none> + static-construction object ‘$trModule2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$trModule1’ + utilized items: <none> + ordinary object ‘divides’: + arity: 3 + literals: <none> + utilized items: + ordinary object ‘$dReal’: + arity: 0 + literals: <none> + utilized items: + ordinary object ‘$dNum’: + arity: 0 + literals: <none> + utilized items: + ordinary object ‘$dEq’: + arity: 0 + literals: <none> + utilized items: + ordinary object ‘$dEq1’: + arity: 0 + literals: <none> + utilized items: + ordinary object ‘bcprep’: + arity: 5 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 15 + utilized items: + break array of module ‘Example’ + ordinary object ‘divides’: + arity: 1 + literals: + word 0 + info table of ‘IS’ + utilized items: item named ‘fromInteger’ + ordinary object ‘divides’: + arity: 3 + literals: + top-level string "Example" + top-level string "main" + cost center of breakpoint 14 + utilized items: + break array of module ‘Example’ + item named ‘mod’ + item named ‘==’ + item named ‘$p1Ord’ + item named ‘$p2Real’ + item named ‘$p1Real’ + item named ‘$p1Integral’ + ordinary object ‘Node’: + arity: 3 + literals: info table of ‘Node’ + utilized items: <none> + ordinary object ‘Leaf’: + arity: 1 + literals: info table of ‘Leaf’ + utilized items: <none> + ordinary object ‘Nested’: + arity: 1 + literals: info table of ‘Nested’ + utilized items: <none> + ordinary object ‘PerfectTree’: + arity: 1 + literals: info table of ‘PerfectTree’ + utilized items: <none> +data constructor info tables: + info table of ‘PerfectTree’: + number of words for pointers: 1 + number of words for non-pointers: 0 + info table of ‘Nested’: + number of words for pointers: 1 + number of words for non-pointers: 0 + info table of ‘Leaf’: + number of words for pointers: 1 + number of words for non-pointers: 0 + info table of ‘Node’: + number of words for pointers: 3 + number of words for non-pointers: 0 +top-level strings: + $tc'Nested1: "'Nested" + $tc'PerfectTree1: "'PerfectTree" + $tcPerfectTree1: "PerfectTree" + $tc'Node1: "'Node" + $tc'Leaf1: "'Leaf" + $tcBinTree1: "BinTree" + $trModule3: "Example" + $trModule1: "main" +breakpoints: + source breakpoints: + source breakpoint 0: + source span: Example.hs:18:17-25 + declaration path: divides + free variables: + k + n + source breakpoint 1: + source span: Example.hs:18:17-30 + declaration path: divides + free variables: + k + n + source breakpoint 2: + source span: Example.hs:24:27-37 + declaration path: + primes + isPrime + free variables: n + source breakpoint 3: + source span: Example.hs:24:53-56 + declaration path: + primes + isPrime + free variables: n + source breakpoint 4: + source span: Example.hs:24:62-64 + declaration path: + primes + isPrime + free variables: <none> + source breakpoint 5: + source span: Example.hs:24:52-65 + declaration path: + primes + isPrime + free variables: n + source breakpoint 6: + source span: Example.hs:24:41-73 + declaration path: + primes + isPrime + free variables: n + source breakpoint 7: + source span: Example.hs:24:22-74 + declaration path: + primes + isPrime + free variables: n + source breakpoint 8: + source span: Example.hs:24:17-75 + declaration path: + primes + isPrime + free variables: n + source breakpoint 9: + source span: Example.hs:21:14-34 + declaration path: primes + free variables: isPrime + source breakpoint 10: + source span: Example.hs:21:10-34 + declaration path: primes + free variables: isPrime + source breakpoint 11: + source span: Example.hs:27:13-25 + declaration path: primesPtr + free variables: <none> + source breakpoint 12: + source span: Example.hs:12:30-70 + declaration path: + fibonaccis + positiveFibonaccis + free variables: positiveFibonaccis + source breakpoint 13: + source span: Example.hs:12:26-70 + declaration path: + fibonaccis + positiveFibonaccis + free variables: positiveFibonaccis + source breakpoint 14: + source span: Example.hs:9:14-35 + declaration path: fibonaccis + free variables: positiveFibonaccis + source breakpoint 15: + source span: Example.hs:15:17-33 + declaration path: fibonaccisPtr + free variables: <none> + bytecode breakpoints: + bytecode breakpoint 0: + type: StaticPtr [Natural] + type variables: <none> + variables: <none> + corresponding source breakpoint: 11 + bytecode breakpoint 1: + type: [Natural] + type variables: <none> + variables: <unknown> + corresponding source breakpoint: 9 + bytecode breakpoint 2: + type: [Natural] + type variables: <none> + variables: <unknown> + corresponding source breakpoint: 10 + bytecode breakpoint 3: + type: Natural -> Bool + type variables: <none> + variables: %'Many n :: Natural + corresponding source breakpoint: 2 + bytecode breakpoint 4: + type: Natural -> Bool + type variables: <none> + variables: %'Many n :: Natural + corresponding source breakpoint: 3 + bytecode breakpoint 5: + type: Natural -> Natural + type variables: <none> + variables: <none> + corresponding source breakpoint: 4 + bytecode breakpoint 6: + type: Natural -> Bool + type variables: <none> + variables: %'Many n :: Natural + corresponding source breakpoint: 5 + bytecode breakpoint 7: + type: [Natural] + type variables: <none> + variables: %'Many n :: Natural + corresponding source breakpoint: 6 + bytecode breakpoint 8: + type: Bool + type variables: <none> + variables: %'Many n :: Natural + corresponding source breakpoint: 7 + bytecode breakpoint 9: + type: Bool + type variables: <none> + variables: %'Many n :: Natural + corresponding source breakpoint: 8 + bytecode breakpoint 10: + type: StaticPtr [Natural] + type variables: <none> + variables: <none> + corresponding source breakpoint: 15 + bytecode breakpoint 11: + type: [Natural] + type variables: <none> + variables: <unknown> + corresponding source breakpoint: 14 + bytecode breakpoint 12: + type: [Natural] + type variables: <none> + variables: <unknown> + corresponding source breakpoint: 12 + bytecode breakpoint 13: + type: [Natural] + type variables: <none> + variables: <unknown> + corresponding source breakpoint: 13 + bytecode breakpoint 14: + type: a + type variables: a :: * + variables: + %'Many eta :: a + %'Many eta1 :: a + corresponding source breakpoint: 0 + bytecode breakpoint 15: + type: Bool + type variables: a :: * + variables: + %'Many eta :: a + %'Many eta1 :: a + corresponding source breakpoint: 1 +static-pointer table entries: + ed7a1b0a13717c34cc10ea39e61d12f0: static + 213042ce5bda1667c6629602bbd55756: static +HPC information: <none> + ===================================== testsuite/tests/show-bytecode/show-bytecode-hpc.stdout ===================================== @@ -0,0 +1,668 @@ +[1 of 1] Compiling Example ( Example.hs, Example.gbc ) +name: Example +hash: f980f4ded430c2b38783bc705ca167a5 +objects: + ordinary object ‘primesPtr’: + arity: 0 + literals: + label ‘’ + label ‘’ + utilized items: + item named ‘static’ + item named ‘$dTypeable2’ + item named ‘$fIsStaticStaticPtr’ + static-construction object ‘static’: + data constructor name: StaticPtr + lifted: yes + literals: + word 2391484856205448807 + word 14295153105712797526 + utilized items: + item named ‘static’ + item named ‘static’ + static-construction object ‘static’: + data constructor name: StaticPtrInfo + lifted: yes + literals: <none> + utilized items: + item named ‘static’ + item named ‘static’ + item named ‘static’ + ordinary object ‘static’: + arity: 0 + literals: top-level string "main" + utilized items: + ordinary object ‘static’: + arity: 0 + literals: <none> + utilized items: item named ‘unpackCString#’ + ordinary object ‘static’: + arity: 0 + literals: top-level string "Example" + utilized items: + ordinary object ‘static’: + arity: 0 + literals: <none> + utilized items: item named ‘unpackCString#’ + static-construction object ‘static’: + data constructor name: (,) + lifted: yes + literals: <none> + utilized items: + item named ‘static’ + item named ‘static’ + static-construction object ‘static’: + data constructor name: I# + lifted: yes + literals: word 27 + utilized items: <none> + static-construction object ‘static’: + data constructor name: I# + lifted: yes + literals: word 20 + utilized items: <none> + ordinary object ‘static’: + arity: 0 + literals: label ‘’ + utilized items: item named ‘primes’ + ordinary object ‘primes2’: + arity: 0 + literals: label ‘’ + utilized items: + ordinary object ‘primes2’: + arity: 0 + literals: label ‘’ + utilized items: + ordinary object ‘primes2’: + arity: 0 + literals: + label ‘’ + word 3 + info table of ‘IS’ + utilized items: + item named ‘$fNumNatural’ + item named ‘fromInteger’ + item named ‘$fEnumNatural’ + item named ‘enumFrom’ + ordinary object ‘primes2’: + arity: 0 + literals: label ‘’ + utilized items: item named ‘isPrime’ + item named ‘filter’ + ordinary object ‘isPrime’: + arity: 1 + literals: + label ‘’ + label ‘’ + utilized items: + ordinary object ‘isPrime’: + arity: 1 + literals: label ‘’ + utilized items: + ordinary object ‘isPrime’: + arity: 1 + literals: label ‘’ + utilized items: + ordinary object ‘isPrime’: + arity: 0 + literals: label ‘’ + utilized items: item named ‘primes’ + ordinary object ‘isPrime’: + arity: 1 + literals: label ‘’ + utilized items: + ordinary object ‘isPrime’: + arity: 0 + literals: label ‘’ + utilized items: + ordinary object ‘v’: + arity: 0 + literals: label ‘’ + utilized items: + item named ‘$fIntegralInteger’ + item named ‘$fNumNatural’ + item named ‘^’ + ordinary object ‘v1’: + arity: 0 + literals: + label ‘’ + word 2 + info table of ‘IS’ + utilized items: <none> + ordinary object ‘pap’: + arity: 3 + literals: <none> + utilized items: <none> + ordinary object ‘isPrime’: + arity: 1 + literals: label ‘’ + utilized items: + ordinary object ‘v’: + arity: 0 + literals: label ‘’ + utilized items: + item named ‘$fOrdNatural’ + item named ‘<=’ + ordinary object ‘v1’: + arity: 1 + literals: label ‘’ + utilized items: <none> + ordinary object ‘pap’: + arity: 3 + literals: <none> + utilized items: <none> + item named ‘.’ + item named ‘takeWhile’ + ordinary object ‘isPrime’: + arity: 1 + literals: label ‘’ + utilized items: + ordinary object ‘v’: + arity: 0 + literals: label ‘’ + utilized items: + ordinary object ‘pap’: + arity: 2 + literals: <none> + utilized items: + item named ‘$fIntegralNatural’ + item named ‘divides’ + ordinary object ‘v1’: + arity: 1 + literals: label ‘’ + utilized items: <none> + ordinary object ‘pap’: + arity: 3 + literals: <none> + utilized items: <none> + item named ‘$fFoldableList’ + item named ‘any’ + item named ‘not’ + ordinary object ‘primes’: + arity: 0 + literals: + label ‘’ + label ‘’ + info table of ‘:’ + utilized items: + item named ‘primes2’ + item named ‘primes1’ + ordinary object ‘primes1’: + arity: 0 + literals: + label ‘’ + word 2 + info table of ‘IS’ + utilized items: + item named ‘$fNumNatural’ + item named ‘fromInteger’ + ordinary object ‘fibonaccisPtr’: + arity: 0 + literals: + label ‘’ + label ‘’ + utilized items: + item named ‘static’ + item named ‘$dTypeable2’ + item named ‘$fIsStaticStaticPtr’ + static-construction object ‘static’: + data constructor name: StaticPtr + lifted: yes + literals: + word 17112019464237448244 + word 14704510317759369968 + utilized items: + item named ‘static’ + item named ‘static’ + static-construction object ‘static’: + data constructor name: StaticPtrInfo + lifted: yes + literals: <none> + utilized items: + item named ‘static’ + item named ‘static’ + item named ‘static’ + ordinary object ‘static’: + arity: 0 + literals: top-level string "main" + utilized items: + ordinary object ‘static’: + arity: 0 + literals: <none> + utilized items: item named ‘unpackCString#’ + ordinary object ‘static’: + arity: 0 + literals: top-level string "Example" + utilized items: + ordinary object ‘static’: + arity: 0 + literals: <none> + utilized items: item named ‘unpackCString#’ + static-construction object ‘static’: + data constructor name: (,) + lifted: yes + literals: <none> + utilized items: + item named ‘static’ + item named ‘static’ + static-construction object ‘static’: + data constructor name: I# + lifted: yes + literals: word 15 + utilized items: <none> + static-construction object ‘static’: + data constructor name: I# + lifted: yes + literals: word 24 + utilized items: <none> + ordinary object ‘static’: + arity: 0 + literals: label ‘’ + utilized items: item named ‘fibonaccis’ + ordinary object ‘positiveFibonaccis1’: + arity: 0 + literals: + label ‘’ + label ‘’ + info table of ‘:’ + utilized items: + item named ‘positiveFibonaccis2’ + item named ‘positiveFibonaccis’ + ordinary object ‘positiveFibonaccis2’: + arity: 0 + literals: label ‘’ + utilized items: + ordinary object ‘positiveFibonaccis2’: + arity: 0 + literals: label ‘’ + utilized items: item named ‘positiveFibonaccis1’ + ordinary object ‘positiveFibonaccis2’: + arity: 0 + literals: label ‘’ + utilized items: item named ‘fibonaccis’ + ordinary object ‘positiveFibonaccis2’: + arity: 0 + literals: label ‘’ + utilized items: + item named ‘$fNumNatural’ + item named ‘+’ + item named ‘zipWith’ + ordinary object ‘fibonaccis’: + arity: 0 + literals: + label ‘’ + label ‘’ + info table of ‘:’ + utilized items: + item named ‘fibonaccis2’ + item named ‘fibonaccis1’ + ordinary object ‘fibonaccis2’: + arity: 0 + literals: label ‘’ + utilized items: item named ‘positiveFibonaccis1’ + ordinary object ‘positiveFibonaccis’: + arity: 0 + literals: + label ‘’ + word 1 + info table of ‘IS’ + utilized items: + item named ‘$fNumNatural’ + item named ‘fromInteger’ + ordinary object ‘fibonaccis1’: + arity: 0 + literals: + label ‘’ + word 0 + info table of ‘IS’ + utilized items: + item named ‘$fNumNatural’ + item named ‘fromInteger’ + ordinary object ‘$dTypeable2’: + arity: 0 + literals: <none> + utilized items: + item named ‘$dTypeable’ + item named ‘$dTypeable1’ + item named ‘mkTrAppChecked’ + ordinary object ‘$dTypeable1’: + arity: 0 + literals: info table of ‘[]’ + utilized items: + item named ‘$tcList’ + item named ‘mkTrCon’ + ordinary object ‘$dTypeable’: + arity: 0 + literals: info table of ‘[]’ + utilized items: + item named ‘$tcNatural’ + item named ‘mkTrCon’ + static-construction object ‘$tc'Nested’: + data constructor name: TyCon + lifted: yes + literals: + word 4886352401159288042 + word 15486177717927261000 + word 1 + utilized items: + item named ‘$trModule’ + item named ‘$tc'Nested2’ + item named ‘$krep17’ + static-construction object ‘$tc'Nested2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tc'Nested1’ + utilized items: <none> + static-construction object ‘$krep17’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep16’ + item named ‘$krep13’ + static-construction object ‘$krep16’: + data constructor name: KindRepTyConApp + lifted: yes + literals: <none> + utilized items: + item named ‘$tcPerfectTree’ + item named ‘$krep15’ + static-construction object ‘$krep15’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep4’ + item named ‘[]’ + static-construction object ‘$tc'PerfectTree’: + data constructor name: TyCon + lifted: yes + literals: + word 1216274636751977258 + word 143956009589726941 + word 1 + utilized items: + item named ‘$trModule’ + item named ‘$tc'PerfectTree2’ + item named ‘$krep14’ + static-construction object ‘$tc'PerfectTree2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tc'PerfectTree1’ + utilized items: <none> + static-construction object ‘$krep14’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘$krep13’ + static-construction object ‘$krep13’: + data constructor name: KindRepTyConApp + lifted: yes + literals: <none> + utilized items: + item named ‘$tcPerfectTree’ + item named ‘$krep12’ + static-construction object ‘$krep12’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘[]’ + static-construction object ‘$tcPerfectTree’: + data constructor name: TyCon + lifted: yes + literals: + word 11330648440307610868 + word 17396431681782259314 + word 0 + utilized items: + item named ‘$trModule’ + item named ‘$tcPerfectTree2’ + item named ‘krep$*Arr*’ + static-construction object ‘$tcPerfectTree2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tcPerfectTree1’ + utilized items: <none> + static-construction object ‘$tc'Node’: + data constructor name: TyCon + lifted: yes + literals: + word 2884468726215238492 + word 558166382591591938 + word 2 + utilized items: + item named ‘$trModule’ + item named ‘$tc'Node2’ + item named ‘$krep11’ + static-construction object ‘$tc'Node2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tc'Node1’ + utilized items: <none> + static-construction object ‘$krep11’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep7’ + item named ‘$krep10’ + static-construction object ‘$krep10’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep’ + item named ‘$krep9’ + static-construction object ‘$krep9’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep7’ + item named ‘$krep7’ + static-construction object ‘$tc'Leaf’: + data constructor name: TyCon + lifted: yes + literals: + word 7677223365245394977 + word 14318463004604079067 + word 2 + utilized items: + item named ‘$trModule’ + item named ‘$tc'Leaf2’ + item named ‘$krep8’ + static-construction object ‘$tc'Leaf2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tc'Leaf1’ + utilized items: <none> + static-construction object ‘$krep8’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘$krep7’ + static-construction object ‘$krep7’: + data constructor name: KindRepTyConApp + lifted: yes + literals: <none> + utilized items: + item named ‘$tcBinTree’ + item named ‘$krep6’ + static-construction object ‘$krep6’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘$krep5’ + static-construction object ‘$krep5’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep’ + item named ‘[]’ + static-construction object ‘$tcBinTree’: + data constructor name: TyCon + lifted: yes + literals: + word 9824011489556756898 + word 1356349741031249981 + word 0 + utilized items: + item named ‘$trModule’ + item named ‘$tcBinTree2’ + item named ‘krep$*->*->*’ + static-construction object ‘$tcBinTree2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tcBinTree1’ + utilized items: <none> + static-construction object ‘$krep4’: + data constructor name: KindRepTyConApp + lifted: yes + literals: <none> + utilized items: + item named ‘$tcTuple2’ + item named ‘$krep3’ + static-construction object ‘$krep3’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘$krep2’ + static-construction object ‘$krep2’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘[]’ + static-construction object ‘$krep1’: + data constructor name: KindRepVar + lifted: yes + literals: word 0 + utilized items: <none> + static-construction object ‘$krep’: + data constructor name: KindRepVar + lifted: yes + literals: word 1 + utilized items: <none> + static-construction object ‘$trModule’: + data constructor name: Module + lifted: yes + literals: <none> + utilized items: + item named ‘$trModule2’ + item named ‘$trModule4’ + static-construction object ‘$trModule4’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$trModule3’ + utilized items: <none> + static-construction object ‘$trModule2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$trModule1’ + utilized items: <none> + ordinary object ‘divides’: + arity: 3 + literals: <none> + utilized items: + ordinary object ‘$dReal’: + arity: 0 + literals: + label ‘’ + label ‘’ + utilized items: + ordinary object ‘divides’: + arity: 1 + literals: + label ‘’ + word 0 + info table of ‘IS’ + utilized items: + ordinary object ‘divides’: + arity: 0 + literals: <none> + utilized items: item named ‘fromInteger’ + item named ‘$p1Real’ + ordinary object ‘divides’: + arity: 3 + literals: label ‘’ + utilized items: + ordinary object ‘divides’: + arity: 1 + literals: label ‘’ + utilized items: <none> + ordinary object ‘divides’: + arity: 1 + literals: label ‘’ + utilized items: <none> + item named ‘mod’ + ordinary object ‘divides’: + arity: 0 + literals: <none> + utilized items: + ordinary object ‘divides’: + arity: 0 + literals: <none> + utilized items: item named ‘==’ + item named ‘$p1Ord’ + item named ‘$p2Real’ + item named ‘$p1Integral’ + ordinary object ‘Node’: + arity: 3 + literals: info table of ‘Node’ + utilized items: <none> + ordinary object ‘Leaf’: + arity: 1 + literals: info table of ‘Leaf’ + utilized items: <none> + ordinary object ‘Nested’: + arity: 1 + literals: info table of ‘Nested’ + utilized items: <none> + ordinary object ‘PerfectTree’: + arity: 1 + literals: info table of ‘PerfectTree’ + utilized items: <none> +data constructor info tables: + info table of ‘PerfectTree’: + number of words for pointers: 1 + number of words for non-pointers: 0 + info table of ‘Nested’: + number of words for pointers: 1 + number of words for non-pointers: 0 + info table of ‘Leaf’: + number of words for pointers: 1 + number of words for non-pointers: 0 + info table of ‘Node’: + number of words for pointers: 3 + number of words for non-pointers: 0 +top-level strings: + $tc'Nested1: "'Nested" + $tc'PerfectTree1: "'PerfectTree" + $tcPerfectTree1: "PerfectTree" + $tc'Node1: "'Node" + $tc'Leaf1: "'Leaf" + $tcBinTree1: "BinTree" + $trModule3: "Example" + $trModule1: "main" +breakpoints: <none> +static-pointer table entries: + ed7a1b0a13717c34cc10ea39e61d12f0: static + 213042ce5bda1667c6629602bbd55756: static +HPC information: + hash: 000000006110204f + module name: Example + tick box name: + number of ticks: 45 + ===================================== testsuite/tests/show-bytecode/show-bytecode-vanilla.stdout ===================================== @@ -0,0 +1,593 @@ +[1 of 1] Compiling Example ( Example.hs, Example.gbc ) +name: Example +hash: 69e57c48badc5756110a3f9e1ece8f0a +objects: + ordinary object ‘primesPtr’: + arity: 0 + literals: <none> + utilized items: + item named ‘static’ + item named ‘$dTypeable2’ + item named ‘$fIsStaticStaticPtr’ + static-construction object ‘static’: + data constructor name: StaticPtr + lifted: yes + literals: + word 2391484856205448807 + word 14295153105712797526 + utilized items: + item named ‘static’ + item named ‘primes’ + static-construction object ‘static’: + data constructor name: StaticPtrInfo + lifted: yes + literals: <none> + utilized items: + item named ‘static’ + item named ‘static’ + item named ‘static’ + ordinary object ‘static’: + arity: 0 + literals: top-level string "main" + utilized items: + ordinary object ‘static’: + arity: 0 + literals: <none> + utilized items: item named ‘unpackCString#’ + ordinary object ‘static’: + arity: 0 + literals: top-level string "Example" + utilized items: + ordinary object ‘static’: + arity: 0 + literals: <none> + utilized items: item named ‘unpackCString#’ + static-construction object ‘static’: + data constructor name: (,) + lifted: yes + literals: <none> + utilized items: + item named ‘static’ + item named ‘static’ + static-construction object ‘static’: + data constructor name: I# + lifted: yes + literals: word 27 + utilized items: <none> + static-construction object ‘static’: + data constructor name: I# + lifted: yes + literals: word 20 + utilized items: <none> + ordinary object ‘primes2’: + arity: 0 + literals: <none> + utilized items: + item named ‘primes2’ + item named ‘isPrime’ + item named ‘filter’ + ordinary object ‘isPrime’: + arity: 1 + literals: <none> + utilized items: + ordinary object ‘isPrime’: + arity: 1 + literals: <none> + utilized items: + ordinary object ‘isPrime’: + arity: 1 + literals: <none> + utilized items: + ordinary object ‘isPrime’: + arity: 1 + literals: + word 2 + info table of ‘IS’ + utilized items: + ordinary object ‘v’: + arity: 0 + literals: <none> + utilized items: + item named ‘$fIntegralInteger’ + item named ‘$fNumNatural’ + item named ‘^’ + ordinary object ‘isPrime’: + arity: 3 + literals: <none> + utilized items: <none> + ordinary object ‘v’: + arity: 0 + literals: <none> + utilized items: + item named ‘$fOrdNatural’ + item named ‘<=’ + ordinary object ‘isPrime’: + arity: 3 + literals: <none> + utilized items: <none> + item named ‘.’ + item named ‘primes’ + item named ‘takeWhile’ + ordinary object ‘isPrime’: + arity: 2 + literals: <none> + utilized items: + item named ‘$fIntegralNatural’ + item named ‘divides’ + item named ‘$fFoldableList’ + item named ‘any’ + item named ‘not’ + static-construction object ‘primes’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘primes1’ + item named ‘primes2’ + ordinary object ‘primes2’: + arity: 0 + literals: <none> + utilized items: + ordinary object ‘primes2’: + arity: 0 + literals: + word 3 + info table of ‘IS’ + utilized items: + item named ‘$fNumNatural’ + item named ‘fromInteger’ + item named ‘$fEnumNatural’ + item named ‘enumFrom’ + ordinary object ‘primes1’: + arity: 0 + literals: <none> + utilized items: + item named ‘primes1’ + item named ‘$fNumNatural’ + item named ‘fromInteger’ + static-construction object ‘primes1’: + data constructor name: IS + lifted: yes + literals: word 2 + utilized items: <none> + ordinary object ‘fibonaccisPtr’: + arity: 0 + literals: <none> + utilized items: + item named ‘static’ + item named ‘$dTypeable2’ + item named ‘$fIsStaticStaticPtr’ + static-construction object ‘static’: + data constructor name: StaticPtr + lifted: yes + literals: + word 17112019464237448244 + word 14704510317759369968 + utilized items: + item named ‘static’ + item named ‘fibonaccis’ + static-construction object ‘static’: + data constructor name: StaticPtrInfo + lifted: yes + literals: <none> + utilized items: + item named ‘static’ + item named ‘static’ + item named ‘static’ + ordinary object ‘static’: + arity: 0 + literals: top-level string "main" + utilized items: + ordinary object ‘static’: + arity: 0 + literals: <none> + utilized items: item named ‘unpackCString#’ + ordinary object ‘static’: + arity: 0 + literals: top-level string "Example" + utilized items: + ordinary object ‘static’: + arity: 0 + literals: <none> + utilized items: item named ‘unpackCString#’ + static-construction object ‘static’: + data constructor name: (,) + lifted: yes + literals: <none> + utilized items: + item named ‘static’ + item named ‘static’ + static-construction object ‘static’: + data constructor name: I# + lifted: yes + literals: word 15 + utilized items: <none> + static-construction object ‘static’: + data constructor name: I# + lifted: yes + literals: word 24 + utilized items: <none> + ordinary object ‘positiveFibonaccis2’: + arity: 0 + literals: <none> + utilized items: + item named ‘positiveFibonaccis1’ + item named ‘fibonaccis’ + item named ‘positiveFibonaccis2’ + item named ‘zipWith’ + static-construction object ‘positiveFibonaccis1’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘positiveFibonaccis’ + item named ‘positiveFibonaccis2’ + static-construction object ‘fibonaccis’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘fibonaccis1’ + item named ‘positiveFibonaccis1’ + ordinary object ‘positiveFibonaccis2’: + arity: 0 + literals: <none> + utilized items: + item named ‘$fNumNatural’ + item named ‘+’ + ordinary object ‘positiveFibonaccis’: + arity: 0 + literals: <none> + utilized items: + item named ‘positiveFibonaccis’ + item named ‘$fNumNatural’ + item named ‘fromInteger’ + static-construction object ‘positiveFibonaccis’: + data constructor name: IS + lifted: yes + literals: word 1 + utilized items: <none> + ordinary object ‘fibonaccis1’: + arity: 0 + literals: <none> + utilized items: + item named ‘fibonaccis1’ + item named ‘$fNumNatural’ + item named ‘fromInteger’ + static-construction object ‘fibonaccis1’: + data constructor name: IS + lifted: yes + literals: word 0 + utilized items: <none> + ordinary object ‘$dTypeable2’: + arity: 0 + literals: <none> + utilized items: + item named ‘$dTypeable’ + item named ‘$dTypeable1’ + item named ‘mkTrAppChecked’ + ordinary object ‘$dTypeable1’: + arity: 0 + literals: info table of ‘[]’ + utilized items: + item named ‘$tcList’ + item named ‘mkTrCon’ + ordinary object ‘$dTypeable’: + arity: 0 + literals: info table of ‘[]’ + utilized items: + item named ‘$tcNatural’ + item named ‘mkTrCon’ + static-construction object ‘$tc'Nested’: + data constructor name: TyCon + lifted: yes + literals: + word 4886352401159288042 + word 15486177717927261000 + word 1 + utilized items: + item named ‘$trModule’ + item named ‘$tc'Nested2’ + item named ‘$krep17’ + static-construction object ‘$tc'Nested2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tc'Nested1’ + utilized items: <none> + static-construction object ‘$krep17’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep16’ + item named ‘$krep13’ + static-construction object ‘$krep16’: + data constructor name: KindRepTyConApp + lifted: yes + literals: <none> + utilized items: + item named ‘$tcPerfectTree’ + item named ‘$krep15’ + static-construction object ‘$krep15’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep4’ + item named ‘[]’ + static-construction object ‘$tc'PerfectTree’: + data constructor name: TyCon + lifted: yes + literals: + word 1216274636751977258 + word 143956009589726941 + word 1 + utilized items: + item named ‘$trModule’ + item named ‘$tc'PerfectTree2’ + item named ‘$krep14’ + static-construction object ‘$tc'PerfectTree2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tc'PerfectTree1’ + utilized items: <none> + static-construction object ‘$krep14’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘$krep13’ + static-construction object ‘$krep13’: + data constructor name: KindRepTyConApp + lifted: yes + literals: <none> + utilized items: + item named ‘$tcPerfectTree’ + item named ‘$krep12’ + static-construction object ‘$krep12’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘[]’ + static-construction object ‘$tcPerfectTree’: + data constructor name: TyCon + lifted: yes + literals: + word 11330648440307610868 + word 17396431681782259314 + word 0 + utilized items: + item named ‘$trModule’ + item named ‘$tcPerfectTree2’ + item named ‘krep$*Arr*’ + static-construction object ‘$tcPerfectTree2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tcPerfectTree1’ + utilized items: <none> + static-construction object ‘$tc'Node’: + data constructor name: TyCon + lifted: yes + literals: + word 2884468726215238492 + word 558166382591591938 + word 2 + utilized items: + item named ‘$trModule’ + item named ‘$tc'Node2’ + item named ‘$krep11’ + static-construction object ‘$tc'Node2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tc'Node1’ + utilized items: <none> + static-construction object ‘$krep11’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep7’ + item named ‘$krep10’ + static-construction object ‘$krep10’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep’ + item named ‘$krep9’ + static-construction object ‘$krep9’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep7’ + item named ‘$krep7’ + static-construction object ‘$tc'Leaf’: + data constructor name: TyCon + lifted: yes + literals: + word 7677223365245394977 + word 14318463004604079067 + word 2 + utilized items: + item named ‘$trModule’ + item named ‘$tc'Leaf2’ + item named ‘$krep8’ + static-construction object ‘$tc'Leaf2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tc'Leaf1’ + utilized items: <none> + static-construction object ‘$krep8’: + data constructor name: KindRepFun + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘$krep7’ + static-construction object ‘$krep7’: + data constructor name: KindRepTyConApp + lifted: yes + literals: <none> + utilized items: + item named ‘$tcBinTree’ + item named ‘$krep6’ + static-construction object ‘$krep6’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘$krep5’ + static-construction object ‘$krep5’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep’ + item named ‘[]’ + static-construction object ‘$tcBinTree’: + data constructor name: TyCon + lifted: yes + literals: + word 9824011489556756898 + word 1356349741031249981 + word 0 + utilized items: + item named ‘$trModule’ + item named ‘$tcBinTree2’ + item named ‘krep$*->*->*’ + static-construction object ‘$tcBinTree2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$tcBinTree1’ + utilized items: <none> + static-construction object ‘$krep4’: + data constructor name: KindRepTyConApp + lifted: yes + literals: <none> + utilized items: + item named ‘$tcTuple2’ + item named ‘$krep3’ + static-construction object ‘$krep3’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘$krep2’ + static-construction object ‘$krep2’: + data constructor name: : + lifted: yes + literals: <none> + utilized items: + item named ‘$krep1’ + item named ‘[]’ + static-construction object ‘$krep1’: + data constructor name: KindRepVar + lifted: yes + literals: word 0 + utilized items: <none> + static-construction object ‘$krep’: + data constructor name: KindRepVar + lifted: yes + literals: word 1 + utilized items: <none> + static-construction object ‘$trModule’: + data constructor name: Module + lifted: yes + literals: <none> + utilized items: + item named ‘$trModule2’ + item named ‘$trModule4’ + static-construction object ‘$trModule4’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$trModule3’ + utilized items: <none> + static-construction object ‘$trModule2’: + data constructor name: TrNameS + lifted: yes + literals: address ‘$trModule1’ + utilized items: <none> + ordinary object ‘divides’: + arity: 3 + literals: <none> + utilized items: + ordinary object ‘$dReal’: + arity: 0 + literals: <none> + utilized items: + ordinary object ‘divides’: + arity: 1 + literals: + word 0 + info table of ‘IS’ + utilized items: + ordinary object ‘divides’: + arity: 0 + literals: <none> + utilized items: item named ‘fromInteger’ + item named ‘$p1Real’ + ordinary object ‘divides’: + arity: 3 + literals: <none> + utilized items: item named ‘mod’ + ordinary object ‘divides’: + arity: 0 + literals: <none> + utilized items: + ordinary object ‘divides’: + arity: 0 + literals: <none> + utilized items: item named ‘==’ + item named ‘$p1Ord’ + item named ‘$p2Real’ + item named ‘$p1Integral’ + ordinary object ‘Node’: + arity: 3 + literals: info table of ‘Node’ + utilized items: <none> + ordinary object ‘Leaf’: + arity: 1 + literals: info table of ‘Leaf’ + utilized items: <none> + ordinary object ‘Nested’: + arity: 1 + literals: info table of ‘Nested’ + utilized items: <none> + ordinary object ‘PerfectTree’: + arity: 1 + literals: info table of ‘PerfectTree’ + utilized items: <none> +data constructor info tables: + info table of ‘PerfectTree’: + number of words for pointers: 1 + number of words for non-pointers: 0 + info table of ‘Nested’: + number of words for pointers: 1 + number of words for non-pointers: 0 + info table of ‘Leaf’: + number of words for pointers: 1 + number of words for non-pointers: 0 + info table of ‘Node’: + number of words for pointers: 3 + number of words for non-pointers: 0 +top-level strings: + $tc'Nested1: "'Nested" + $tc'PerfectTree1: "'PerfectTree" + $tcPerfectTree1: "PerfectTree" + $tc'Node1: "'Node" + $tc'Leaf1: "'Leaf" + $tcBinTree1: "BinTree" + $trModule3: "Example" + $trModule1: "main" +breakpoints: <none> +static-pointer table entries: + ed7a1b0a13717c34cc10ea39e61d12f0: static + 213042ce5bda1667c6629602bbd55756: static +HPC information: <none> + View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/ead5f6b1fd2ce10bb9347f1a67afce79... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/ead5f6b1fd2ce10bb9347f1a67afce79... You're receiving this email because of your account on gitlab.haskell.org. Manage all notifications: https://gitlab.haskell.org/-/profile/notifications | Help: https://gitlab.haskell.org/help