Files
mercury/tools/.nocopyright
Zoltan Somogyi 4a5b3214ec Fix bugs that prevented the compiler from bootstrapping in deep profiling
Estimated hours taken: 20
Branches: main

Fix bugs that prevented the compiler from bootstrapping in deep profiling
grades with --deep-profile-tail-recursion enabled.

compiler/deep_profiler.m:
	Apply the tail recursion optimization only to procedures that are
	not mutually recursive with any other procedure. (The transformation
	cannot keep track of invocation counts in such cases.) Apply this
	restriction even when the possible mutual recursion is not visible
	to dependency_graph.m.

	Refer to the call_site_nums_N type constructors with the correct arity.

compiler/proc_gen.m:
	The procedures generated by the tail recursion transformation
	do not have their own proc_static structures; they use those
	of the original procedure (whose clones they are). Do not
	insist on them having their own proc_static structure.

tools/unary:
	Add this new tool, which was instrumental in tracking down
	the problems above.
2011-07-07 00:47:29 +00:00

52 lines
583 B
Plaintext

add_cont_lines
alias_sync
appears
assemble
avg_frame_size
backupdir
backuprevisions
binary
binary_step
bootcheck
cleanint
compare_frame_sizes
cont
ctor_rep_stats
cur_param
cvdd
cvdr
.cvsignore
cvspatch
divide
dotime.in
expand_params
extract_incr_sp
frame_sizes
gdbrun
generate_index_html
half
ho_call_stats
linear
list.kryten
list.mercury
list.mundook
list.murlibobo
list.muse
lmc.in
make_arena
makebatch
make_spec_ho_call
make_spec_method_call
next_param
not
optstages
README
restorerevisions
run_all_tests_from_cron
speed_summary
speedtest
subst
test_mercury
type_ctor_stats
unary