mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 01:13:30 +00:00
Estimated hours taken: 3
Branches: main
Make the compiler bootstrap again in term size profiling grades.
compiler/llds_out.m:
Don't output a stray & that introduces a C syntax error. This code
was invoked only in term size profiling grades.
library/thread.semaphore.m:
Replace the use of a C macro that isn't defined in term size profiling
grades with a macro that *is* defined.
runtime/mercury_term_size.c:
Handle the dummy type_ctor_rep added recently.
trace/mercury_trace_vars.c:
Update the code that prints the sizes of the terms bound to variables
(which is enabled only in term size profiling grades) to handle the
changes made when I added user event attributes.
tests/debugger/tailrec1.exp2:
Add a new expected output for this case that also prints the variables
added by the term size profiling transformation.
tests/debugger/term_size_words.{m,exp}:
Update this test case for the old breakup of std_util.m and the changes
in the printing of floats.
50 lines
1.7 KiB
Plaintext
50 lines
1.7 KiB
Plaintext
E1: C1 CALL pred term_size_words.main/2-0 (det) term_size_words.m:23
|
|
mdb> echo on
|
|
Command echo enabled.
|
|
mdb> register --quiet
|
|
mdb> context none
|
|
Contexts will not be printed.
|
|
mdb> break static
|
|
0: + stop interface pred term_size_words.static/3-0 (det)
|
|
mdb> continue
|
|
E2: C2 CALL pred term_size_words.static/3-0 (det)
|
|
mdb> finish
|
|
E3: C2 EXIT pred term_size_words.static/3-0 (det)
|
|
mdb> print *
|
|
IntList (arg 1) [1, 2, 3]
|
|
StringList (arg 2) ["a", "bb", "ccc"]
|
|
Tree (arg 3) node(leaf, "one", 1, node(leaf, "two", 2, leaf))
|
|
mdb> term_size *
|
|
IntList 6
|
|
StringList 6
|
|
Tree 8
|
|
mdb> break dynamic
|
|
1: + stop interface pred term_size_words.dynamic/6-0 (det)
|
|
mdb> continue
|
|
E4: C3 CALL pred term_size_words.dynamic/6-0 (det)
|
|
mdb> finish
|
|
E5: C3 EXIT pred term_size_words.dynamic/6-0 (det)
|
|
mdb> print *
|
|
IntList (arg 1) [1, 2, 3]
|
|
DoubleIntList (arg 2) [1, 2, 3, 1, 2, 3]
|
|
FloatList (arg 3) [1.0, 2.0, 3.0]
|
|
PairList (arg 4) [1 - 1.0, 2 - 2.0, 3 - 3.0]
|
|
UnivList (arg 5) [univ_cons(1), univ_cons(2), univ_cons(3)]
|
|
Univ (arg 6) univ_cons(node(node(leaf, 2, -/2, leaf), 1, -(1.0, "one"), leaf))
|
|
mdb> term_size *
|
|
IntList 6
|
|
DoubleIntList 12
|
|
FloatList 6
|
|
PairList 12
|
|
UnivList 12
|
|
Univ 14
|
|
mdb> continue -n -S
|
|
[1, 2, 3]
|
|
["a", "bb", "ccc"]
|
|
node(leaf, "one", 1, node(leaf, "two", 2, leaf))
|
|
[1, 2, 3, 1, 2, 3]
|
|
[1.0, 2.0, 3.0]
|
|
[1 - 1.0, 2 - 2.0, 3 - 3.0]
|
|
[univ_cons(1), univ_cons(2), univ_cons(3)]
|
|
univ_cons(node(node(leaf, 2, 2.0 - "two", leaf), 1, 1.0 - "one", leaf))
|