This repository was archived by the owner on Apr 2, 2025. It is now read-only.
2 unwinders#13
Closed
unkadoug wants to merge 41 commits intoHPCToolkit:masterfrom
unkadoug:2_unwinders
Closed
Conversation
…based, we need two pools of free unwind-interval tree nodes, since they will be differently sized for the different unwinders. Define an enum to identify the two unwinders. Define a struct to represent the global locks, free list, and allocator, and have an array of 2 structs for the 2 unwinder types. Also, have 2 thread-specific free lists, since thread-specific variables can't be incorporated into a global struct. Manage the allocatation and freeing of unwind-interval tree nodes by referring to an enumerant, and without passing allocator pointer functions around as much as before.
…e some field, and the only value ever passed in that argument is NULL, drop the argument and have the constructor supply the NULL itself.
… native unwinding and one for dwarf unwinding. Pass an argument to uw_recipe_map_lookup to identify an unwinding type.
Conflicts: 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-canonical.c src/tool/hpcrun/unwind/x86-family/x86-lea.c src/tool/hpcrun/unwind/x86-family/x86-move.c
Conflicts: src/tool/hpcrun/unwind/x86-family/x86-build-intervals.c
into the common cursor, without actually having the native unwinder use the libunwind parts. Delete an enum that duplicted a libunwind enum. Add an unwinder-type parameter to build_intervals, which is currently ignored.
to cursor->unwr_info.
Conflicts: src/tool/hpcrun/unwind/x86-family/x86-unwind.c
…ils; thereafter, initialize the cursor register fields and use native unwinding.
initialization after libunw failure. Initialize the failure flag to false.
the map associated with the unwinder in use.
the libunwind register state from the x86 registers and then resume unwinding with libunwind.
…toolkit into unwind-clean-2017
function parameters.
Conflicts: src/tool/hpcrun/unwind/generic-libunwind/libunw-unwind.c
…into 2_unwinders
Conflicts: src/tool/hpcrun/unwind/generic-libunwind/libunw-unwind.c
…ls, and doesn't try to get back to libunwind later in the same unwinding. Use (sp-1) for the ra_loc value.
from copying the cursor and return address validation.
on three possible values (-1, 0, 1).
by copying the old cursor context, updating the PC, SP and BP regs in the context with values from the native unwinder, and using unw_init_local to reinitialize with the updated context.
to replace -1, 0 and 1. Eliminate a redundant test and block.
Conflicts: src/tool/hpcrun/unwind/x86-family/x86-validate-retn-addr.c
Conflicts: src/tool/hpcrun/unwind/x86-family/x86-build-intervals.c src/tool/hpcrun/unwind/x86-family/x86-move.c
This was referenced Oct 30, 2017
Closed
vladaindjic
pushed a commit
to vladaindjic/hpctoolkit
that referenced
this pull request
Nov 3, 2020
… cache is common for the packages Currently cores within package that share the same L2 cache are grouped together. The current logic behind this assumes that the L2 cache is always at deeper (or the same) level than the package itself. In case when L2 cache is common for all packages (and the packages are at deeper level than L2 cache) the whole of the further topology discovery fails to find any computational units resulting in following assertion: Assertion failure at kmp_affinity.cpp(715): nActiveThreads == __kmp_avail_proc. OMP: Error HPCToolkit#13: Assertion failure at kmp_affinity.cpp(715). This patch adds a bit of a logic that prevents such situation from occurring. Differential Revision: https://reviews.llvm.org/D61796 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@360890 91177308-0d34-0410-b5e6-96231b3b80d8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.