Skip to content
This repository was archived by the owner on Apr 2, 2025. It is now read-only.

Unwind clean 2017#8

Merged
unkadoug merged 98 commits intoHPCToolkit:masterfrom
unkadoug:unwind-clean-2017
Sep 7, 2017
Merged

Unwind clean 2017#8
unkadoug merged 98 commits intoHPCToolkit:masterfrom
unkadoug:unwind-clean-2017

Conversation

@unkadoug
Copy link
Copy Markdown

Cache libunwind recipes in the skip list, when using libunwind. Get rid of extra allocations and extra pointer dereferencing. Clean up code elsewhere.

unkadoug added 30 commits March 2, 2017 18:17
and the comments don't really say what it means.
… consists

of a start and an end already.  Discard a couple of unused/redundant functions.
…nction,

except for one parameter, so discard one of the implementations.
the former is nonzero if and only if the latter is set.  So eliminate
the latter and test n_trolls in the one place where trolled was tested
before.
to new_ui instead of passing individual register values.
unkadoug added 16 commits June 21, 2017 02:00
…e latest

restored canonical in interval_arg_t, and search forward from there when doing
canonical updates instead of walking backward to the latest marked canonical.
Conflicts:
	src/tool/hpcrun/unwind/common/binarytree_uwi.c
	src/tool/hpcrun/unwind/common/binarytree_uwi.h
	src/tool/hpcrun/unwind/x86-family/x86-and.c
	src/tool/hpcrun/unwind/x86-family/x86-build-intervals.c
	src/tool/hpcrun/unwind/x86-family/x86-lea.c
	src/tool/hpcrun/unwind/x86-family/x86-move.c
	src/tool/hpcrun/unwind/x86-family/x86-unwind-interval.c
but are used, even uninitialized, in common/backtrace.c.
Currently, the definition of unw_word_t for native code unwinding is
incompatible with the definition libunwind uses, making blending the
two methods difficult.
same way it is set for x86 and ppc unwinding.
from cursor for libunwind.  Fill in the cursor fence field for libunwind,
so that when backtrace.c copies the value, there will be a value to copy.
for a procedure ends before the end of the procedure, by raising
its upper bound to match the end of the procedure.  Otherwise, we
may complete build_intervals and find that the lookup for the interval
containing the instruction address fails.

Return the status from the libunwind call as the status from the
build_intervals call.
Conflicts:
	src/tool/hpcrun/unwind/x86-family/x86-validate-retn-addr.c
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants