[DynInst_API:] [dyninst/dyninst] 51e831: changes for parallelizing symtabapi


Date: Wed, 21 Aug 2019 15:13:02 -0700
From: Xiaozhu Meng <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 51e831: changes for parallelizing symtabapi
  Branch: refs/heads/parallel-parse-symtab
  Home:   https://github.com/dyninst/dyninst
  Commit: 51e83198b7fd3622cd232dba2955a4b175927b5f
      https://github.com/dyninst/dyninst/commit/51e83198b7fd3622cd232dba2955a4b175927b5f
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2019-02-04 (Mon, 04 Feb 2019)

  Changed paths:
    M parseAPI/src/Parser.C
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/h/Collections.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/h/Type.h
    M symtabAPI/src/Collections.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/Type-mem.h
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  changes for parallelizing symtabapi


  Commit: 0ced60bfe0d6b2e1f103c981adda8d4a5d106bdc
      https://github.com/dyninst/dyninst/commit/0ced60bfe0d6b2e1f103c981adda8d4a5d106bdc
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2019-02-11 (Mon, 11 Feb 2019)

  Changed paths:
    A .github_changelog_generator
    M .gitignore
    R .travis.yml
    M CHANGELOG.md
    M CMakeLists.txt
    R ChangeLog
    R INSTALL
    M README.md
    R appveyor.yml
    M cmake/options.cmake
    M cmake/packages.cmake
    M cmake/shared.cmake
    M common/doc/manual_frontpage.tex
    M common/h/IBSTree.h
    M common/h/dyn_regs.h
    M common/h/entryIDs.h
    M common/src/Types.h
    M common/src/addrtranslate-linux.C
    M common/src/addrtranslate-sysv.C
    M common/src/arch-aarch64.C
    M common/src/arch-aarch64.h
    M common/src/arch-power.C
    M common/src/arch-power.h
    M common/src/arch-x86.C
    M common/src/arch-x86.h
    M common/src/dyn_regs.C
    M common/src/freebsdHeaders.h
    M common/src/headers.h
    M common/src/linuxHeaders.h
    M common/src/ntHeaders.h
    M common/src/pathName.C
    M common/src/pathName.h
    M common/src/serialize-bin.C
    M common/src/vxworksHeaders.h
    M dataflowAPI/doc/dataflowAPI.pdf
    M dataflowAPI/h/ABI.h
    M dataflowAPI/h/slicing.h
    M dataflowAPI/rose/semantics/DispatcherARM64.C
    M dataflowAPI/rose/semantics/DispatcherPowerpc.C
    M dataflowAPI/rose/util/Message.C
    M dataflowAPI/rose/util/Message.h
    M dataflowAPI/rose/x86_64InstructionSemantics.h
    M dataflowAPI/src/ABI.C
    M dataflowAPI/src/AbslocInterface.C
    M dataflowAPI/src/RegisterMap.C
    M dataflowAPI/src/RegisterMap.h
    M dataflowAPI/src/liveness.C
    M dataflowAPI/src/slicing.C
    M dwarf/h/dwarfFrameParser.h
    M dwarf/src/dwarfFrameParser.C
    M dwarf/src/dwarfHandle.C
    M dwarf/src/dwarfResult.C
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI/doc/dyninstAPI.docx
    M dyninstAPI/doc/dyninstAPI.pdf
    M dyninstAPI/h/BPatch_snippet.h
    M dyninstAPI/src/BPatch_function.C
    M dyninstAPI/src/BPatch_loopTreeNode.C
    M dyninstAPI/src/BPatch_point.C
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/Parsing-arch.C
    M dyninstAPI/src/Parsing.C
    M dyninstAPI/src/Parsing.h
    M dyninstAPI/src/Relocation/CFG/RelocBlock.C
    M dyninstAPI/src/Relocation/CFG/RelocBlock.h
    M dyninstAPI/src/Relocation/CFG/RelocGraph.C
    M dyninstAPI/src/Relocation/CFG/RelocGraph.h
    M dyninstAPI/src/Relocation/CodeMover.C
    M dyninstAPI/src/Relocation/CodeMover.h
    M dyninstAPI/src/Relocation/Springboard.C
    M dyninstAPI/src/Relocation/Transformers/Instrumenter.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget-aarch64.C
    M dyninstAPI/src/Relocation/Widgets/InstWidget.C
    M dyninstAPI/src/Relocation/Widgets/PCWidget.C
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.C
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.h
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/baseTramp.C
    M dyninstAPI/src/block.C
    M dyninstAPI/src/block.h
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/codegen-power.C
    M dyninstAPI/src/codegen-power.h
    M dyninstAPI/src/codegen-x86.h
    M dyninstAPI/src/codegen.C
    M dyninstAPI/src/codegen.h
    M dyninstAPI/src/dynProcess.C
    A dyninstAPI/src/emit-aarch64.C
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/emit-power.h
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/emit-x86.h
    M dyninstAPI/src/emitter.h
    M dyninstAPI/src/freebsd.C
    M dyninstAPI/src/function.C
    M dyninstAPI/src/function.h
    M dyninstAPI/src/image.C
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-aarch64.h
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/inst-power.h
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/inst-x86.h
    M dyninstAPI/src/inst.h
    M dyninstAPI/src/linux.C
    M dyninstAPI/src/mapped_object.C
    M dyninstAPI/src/mapped_object.h
    M dyninstAPI/src/opcode.h
    M dyninstAPI/src/parse-aarch64.C
    M dyninstAPI/src/parse-cfg.C
    M dyninstAPI/src/parse-cfg.h
    M dyninstAPI/src/pcEventMuxer.C
    M dyninstAPI/src/pcEventMuxer.h
    M dyninstAPI/src/registerSpace.C
    M dyninstAPI/src/registerSpace.h
    M dyninstAPI/src/stackwalk-aarch64.C
    M dyninstAPI/src/unix.C
    M dyninstAPI_RT/src/RTcommon.c
    M elf/h/Elf_X.h
    M elf/src/Elf_X.C
    M examples/CMakeLists.txt
    A examples/codeCoverage.dir/Makefile.afs
    A examples/codeCoverage.dir/README
    A examples/codeCoverage.dir/README.staticdist
    A examples/codeCoverage.dir/codeCoverage.C
    A examples/codeCoverage.dir/libInst.C
    A examples/codeCoverage.dir/libInst.h
    A examples/codeCoverage.dir/libtestcc.c
    A examples/codeCoverage.dir/libtestcc.h
    A examples/codeCoverage.dir/package.bash
    A examples/codeCoverage.dir/testcc.c
    R examples/codeCoverage/Makefile.afs
    R examples/codeCoverage/README
    R examples/codeCoverage/README.staticdist
    R examples/codeCoverage/codeCoverage.C
    R examples/codeCoverage/libInst.C
    R examples/codeCoverage/libInst.h
    R examples/codeCoverage/libtestcc.c
    R examples/codeCoverage/libtestcc.h
    R examples/codeCoverage/package.bash
    R examples/codeCoverage/testcc.c
    A examples/unstrip.dir/Makefile.afs
    A examples/unstrip.dir/README
    A examples/unstrip.dir/callback.C
    A examples/unstrip.dir/callback.h
    A examples/unstrip.dir/database.C
    A examples/unstrip.dir/database.h
    A examples/unstrip.dir/ddb.db
    A examples/unstrip.dir/fingerprint.C
    A examples/unstrip.dir/fingerprint.h
    A examples/unstrip.dir/foo.c
    A examples/unstrip.dir/foo.sh
    A examples/unstrip.dir/generate-learn-binary.bash
    A examples/unstrip.dir/package.bash
    A examples/unstrip.dir/params.db
    A examples/unstrip.dir/predicates.h
    A examples/unstrip.dir/semanticDescriptor.C
    A examples/unstrip.dir/semanticDescriptor.h
    A examples/unstrip.dir/test.c
    A examples/unstrip.dir/types.C
    A examples/unstrip.dir/types.h
    A examples/unstrip.dir/unistd.db
    A examples/unstrip.dir/unstrip.C
    A examples/unstrip.dir/util.C
    A examples/unstrip.dir/util.h
    R examples/unstrip/Makefile.afs
    R examples/unstrip/README
    R examples/unstrip/callback.C
    R examples/unstrip/callback.h
    R examples/unstrip/database.C
    R examples/unstrip/database.h
    R examples/unstrip/ddb.db
    R examples/unstrip/fingerprint.C
    R examples/unstrip/fingerprint.h
    R examples/unstrip/foo.c
    R examples/unstrip/foo.sh
    R examples/unstrip/generate-learn-binary.bash
    R examples/unstrip/package.bash
    R examples/unstrip/params.db
    R examples/unstrip/predicates.h
    R examples/unstrip/semanticDescriptor.C
    R examples/unstrip/semanticDescriptor.h
    R examples/unstrip/test.c
    R examples/unstrip/types.C
    R examples/unstrip/types.h
    R examples/unstrip/unistd.db
    R examples/unstrip/unstrip.C
    R examples/unstrip/util.C
    R examples/unstrip/util.h
    M instructionAPI/doc/instructionAPI.pdf
    M instructionAPI/h/ArchSpecificFormatters.h
    M instructionAPI/h/InstructionCategories.h
    M instructionAPI/h/Operation_impl.h
    M instructionAPI/h/RegisterIDs.h
    M instructionAPI/h/Result.h
    M instructionAPI/src/Expression.C
    M instructionAPI/src/Instruction.C
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-power.h
    M instructionAPI/src/InstructionDecoder-x86.C
    M instructionAPI/src/Operation.C
    M instructionAPI/src/power_opcode_tables.C
    M parseAPI/CMakeLists.txt
    M parseAPI/doc/1-Intro.tex
    M parseAPI/doc/parseAPI.pdf
    M parseAPI/h/CFG.h
    M parseAPI/h/CFGFactory.h
    M parseAPI/src/Block.C
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/CFGModifier.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/CodeSource.C
    M parseAPI/src/Function.C
    M parseAPI/src/IA_IAPI.C
    M parseAPI/src/IA_IAPI.h
    M parseAPI/src/IA_aarch64.C
    M parseAPI/src/IA_power.C
    M parseAPI/src/IA_x86.C
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectASTVisitor.h
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/IndirectAnalyzer.h
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/JumpTableFormatPred.h
    M parseAPI/src/JumpTableIndexPred.C
    M parseAPI/src/JumpTableIndexPred.h
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C
    M parseAPI/src/ParserDetails.h
    M parseAPI/src/SymbolicExpression.h
    M parseAPI/src/SymtabCodeSource.C
    M parseAPI/src/debug_parse.C
    M parseThat/CMakeLists.txt
    M proccontrol/doc/proccontrol.docx
    M proccontrol/doc/proccontrol.pdf
    M proccontrol/src/handler.C
    M proccontrol/src/linux.C
    M proccontrol/src/loadLibrary/codegen-freebsd.C
    M proccontrol/src/loadLibrary/codegen-ppc.C
    M proccontrol/src/process.C
    M stackwalk/h/framestepper.h
    M stackwalk/src/dbginfo-stepper.C
    M stackwalk/src/framestepper.C
    M stackwalk/src/linuxbsd-x86-swk.C
    M stackwalk/src/sw.h
    M symtabAPI/CMakeLists.txt
    M symtabAPI/doc/symtabAPI.pdf
    M symtabAPI/h/LineInformation.h
    M symtabAPI/h/Module.h
    M symtabAPI/h/StringTable.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Function.C
    M symtabAPI/src/LineInformation.C
    M symtabAPI/src/Module.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Object-elf.h
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/emitElf.h
    M symtabAPI/src/emitElfStatic-aarch64.C
    M symtabAPI/src/emitElfStatic-ppc32.C
    M symtabAPI/src/emitElfStatic-ppc64.C
    M symtabAPI/src/emitElfStatic-x86.C
    M symtabAPI/src/emitElfStatic.C
    M symtabAPI/src/relocationEntry-elf-aarch64.C
    M symtabAPI/src/relocationEntry-elf-x86.C

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/master' into HEAD


  Commit: c0f548a5c842a62c5e0566b2bcfdecda327fb5f9
      https://github.com/dyninst/dyninst/commit/c0f548a5c842a62c5e0566b2bcfdecda327fb5f9
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-02-19 (Tue, 19 Feb 2019)

  Changed paths:
    M CMakeLists.txt
    M common/src/race-detector-annotations.C
    M parseAPI/src/Parser.C
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/CMakeLists.txt
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Tweaks to use OpenMP (still one last reducer left)


  Commit: 5406a8d58c9c64ca9fc10612858125f7bb1505f2
      https://github.com/dyninst/dyninst/commit/5406a8d58c9c64ca9fc10612858125f7bb1505f2
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-02-19 (Tue, 19 Feb 2019)

  Changed paths:
    M CMakeLists.txt
    M common/CMakeLists.txt
    R common/h/race-detector-annotations.h
    M common/src/linuxKludges.C
    M common/src/mcs-lock.C
    M common/src/pfq-rwlock.C
    R common/src/race-detector-annotations.C
    M dataflowAPI/src/debug_dataflow.C
    M parseAPI/h/CFG.h
    M parseAPI/h/LockFreeQueue.h
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/Function.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/src/Collections.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/Type-mem.h
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Rip out Cilkscreen


  Commit: 45b8b699864b262e56c4f8f5bfef756f01c2c048
      https://github.com/dyninst/dyninst/commit/45b8b699864b262e56c4f8f5bfef756f01c2c048
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-02-20 (Wed, 20 Feb 2019)

  Changed paths:
    M common/src/linuxKludges.C
    M symtabAPI/src/Type.C

  Log Message:
  -----------
  Mark a false race in Type.C.

std::call_once has a barrier at the end, so anything that happens inside
is visible to anything that happens after.


  Commit: ae80b9869b52a2be9fee458bbeac07852d6f8e0a
      https://github.com/dyninst/dyninst/commit/ae80b9869b52a2be9fee458bbeac07852d6f8e0a
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-02-21 (Thu, 21 Feb 2019)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  Replace the Cilk reducer with an OpenMP reduction


  Commit: bd913dc33ef04587db6a7cd8f0c4481c8c65574e
      https://github.com/dyninst/dyninst/commit/bd913dc33ef04587db6a7cd8f0c4481c8c65574e
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-02-21 (Thu, 21 Feb 2019)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Pull some bits out of the for loop and into the parallel. Hope it still works.


  Commit: a5cfc0c2c4aa0b504df9da325ba2b91eb3618ce4
      https://github.com/dyninst/dyninst/commit/a5cfc0c2c4aa0b504df9da325ba2b91eb3618ce4
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-02-21 (Thu, 21 Feb 2019)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Pull out the last of the Cilk references. Now we're fully OpenMP.


  Commit: 32de55e6c74b49548ff112c846a48d8d7019d969
      https://github.com/dyninst/dyninst/commit/32de55e6c74b49548ff112c846a48d8d7019d969
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-02-21 (Thu, 21 Feb 2019)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  Remove some dead code, and move the reducer into the source file.


  Commit: 9214f529f6d725ba732c40d01893330004ded168
      https://github.com/dyninst/dyninst/commit/9214f529f6d725ba732c40d01893330004ded168
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-02-21 (Thu, 21 Feb 2019)

  Changed paths:
    A common/h/vgannotations.h
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  Mark the last race so far, move VG macros to a separate file. Resolves #1.


  Commit: 264d749539f525aafdb372991d8b38048eaaf9a9
      https://github.com/dyninst/dyninst/commit/264d749539f525aafdb372991d8b38048eaaf9a9
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-02-27 (Wed, 27 Feb 2019)

  Changed paths:
    M common/h/mcs-lock.h
    M common/h/vgannotations.h
    M common/src/mcs-lock.C
    M common/src/pfq-rwlock.C

  Log Message:
  -----------
  Annotate the two core locks, negating a lot of the race reports

Implementation is not great though, I moved mcs_init to be a real function call.
There might be a better way to do this, will investigate at some point.


  Commit: 65f6c4205214e6a28ed6ae820d5a429c3ab8ca2e
      https://github.com/dyninst/dyninst/commit/65f6c4205214e6a28ed6ae820d5a429c3ab8ca2e
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-02-27 (Wed, 27 Feb 2019)

  Changed paths:
    M parseAPI/src/ParseData.h

  Log Message:
  -----------
  Very awkwardly annotate a parallel hashmap by key. Consider implementing better magic.


  Commit: 01e0b5451bf0b2da17a5cbe8c2e83ea1e38d2e33
      https://github.com/dyninst/dyninst/commit/01e0b5451bf0b2da17a5cbe8c2e83ea1e38d2e33
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-03-02 (Sat, 02 Mar 2019)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Wrap the callback in `omp critical`, to make it parallel-safe no matter what happens.


  Commit: 2713ceda895c96859321bc91bd09a1a8d96563bc
      https://github.com/dyninst/dyninst/commit/2713ceda895c96859321bc91bd09a1a8d96563bc
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-03-18 (Mon, 18 Mar 2019)

  Changed paths:
    M symtabAPI/h/Module.h
    M symtabAPI/src/Module.C

  Log Message:
  -----------
  Swap out the vector for a TBB concurrent_queue, fixes #8.


  Commit: f6053c45c2e87996565bcdcdaf6f6450467a8ad4
      https://github.com/dyninst/dyninst/commit/f6053c45c2e87996565bcdcdaf6f6450467a8ad4
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-03-18 (Mon, 18 Mar 2019)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Remove some unnessesary annotations, using a proper OpenMP handles them.


  Commit: e03f32e03787b3b65645ead9491bf166c3698bd5
      https://github.com/dyninst/dyninst/commit/e03f32e03787b3b65645ead9491bf166c3698bd5
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M common/h/mcs-lock.h
    M common/h/vgannotations.h
    M common/src/mcs-lock.C
    M common/src/pfq-rwlock.C

  Log Message:
  -----------
  Revert the core lock annotations, they don't actually really work.

This reverts commit 264d749539f525aafdb372991d8b38048eaaf9a9.


  Commit: 669c2a61ff3636a9424183592336bdfbe692022b
      https://github.com/dyninst/dyninst/commit/669c2a61ff3636a9424183592336bdfbe692022b
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M common/h/mcs-lock.h
    M common/h/pfq-rwlock.h
    M common/src/mcs-lock.C
    M common/src/pfq-rwlock.C

  Log Message:
  -----------
  Macro-replace the locks with boost equivalents. Revert this commit later once the testing is complete, or refactor it fully out.


  Commit: 415ef59702d832ac2818b4cc53cae30ac62aff8a
      https://github.com/dyninst/dyninst/commit/415ef59702d832ac2818b4cc53cae30ac62aff8a
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-03-22 (Fri, 22 Mar 2019)

  Changed paths:
    M parseAPI/h/CodeSource.h
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  Replace the 1-entry cache with a vector that expands with the number of threads.

Closes #5


  Commit: ecbbea8fe00a1b3508cfba020c2486fc8adc187f
      https://github.com/dyninst/dyninst/commit/ecbbea8fe00a1b3508cfba020c2486fc8adc187f
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-03-22 (Fri, 22 Mar 2019)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Reuse the DwarfWalker between loop iterations, to save some work


  Commit: 9a57a720f5507cd0adf36c6282ec99ec4f55fe98
      https://github.com/dyninst/dyninst/commit/9a57a720f5507cd0adf36c6282ec99ec4f55fe98
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-03-22 (Fri, 22 Mar 2019)

  Changed paths:
    M common/src/singleton_object_pool.h

  Log Message:
  -----------
  Use the standard allocator, so that Valgrind can track it properly


  Commit: f5e1e682f706e8768a1ca7f840cd099ad87602f3
      https://github.com/dyninst/dyninst/commit/f5e1e682f706e8768a1ca7f840cd099ad87602f3
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-03-24 (Sun, 24 Mar 2019)

  Changed paths:
    M parseAPI/h/CFG.h
    M parseAPI/src/Block.C
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Attempt to handle #10 via an atomic... Not certain about stability yet.


  Commit: da3f1de2942299d1a1599fd6f4b4c25fc8859ddb
      https://github.com/dyninst/dyninst/commit/da3f1de2942299d1a1599fd6f4b4c25fc8859ddb
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-03-28 (Thu, 28 Mar 2019)

  Changed paths:
    M common/h/mcs-lock.h
    M common/h/pfq-rwlock.h

  Log Message:
  -----------
  Silence some warnings


  Commit: 0ea7dff93f14d45a816bead8307ea4dbf3f65a80
      https://github.com/dyninst/dyninst/commit/0ea7dff93f14d45a816bead8307ea4dbf3f65a80
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-03-29 (Fri, 29 Mar 2019)

  Changed paths:
    M parseAPI/src/Function.C

  Log Message:
  -----------
  Replace the write with a CAS, letting Valgrind mostly ignore it.

Closes blue42u/dyninst#7


  Commit: 421151e9012f0ab6bef3db996ee23e6617441a60
      https://github.com/dyninst/dyninst/commit/421151e9012f0ab6bef3db996ee23e6617441a60
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-03-29 (Fri, 29 Mar 2019)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Strengthen the condition, its good enough for now.

Closes blue42u/dyninst#10


  Commit: 00c3e0f204a07ef3f9df124fabbefc085eea9072
      https://github.com/dyninst/dyninst/commit/00c3e0f204a07ef3f9df124fabbefc085eea9072
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-04 (Thu, 04 Apr 2019)

  Changed paths:
    M parseAPI/src/ParseData.h

  Log Message:
  -----------
  Re-annotate the hash map similar to an RW lock (which it technically is)


  Commit: 7007e5b11d4552e2222699abed392828d2c5a56a
      https://github.com/dyninst/dyninst/commit/7007e5b11d4552e2222699abed392828d2c5a56a
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-07 (Sun, 07 Apr 2019)

  Changed paths:
    M common/h/vgannotations.h
    M symtabAPI/src/Symtab.C

  Log Message:
  -----------
  Nearly fully fix the function-static annotations, using a very small constructor.


  Commit: 86c6a30ca7d2f6c98c8ef21dd98790c1df516d9b
      https://github.com/dyninst/dyninst/commit/86c6a30ca7d2f6c98c8ef21dd98790c1df516d9b
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-08 (Mon, 08 Apr 2019)

  Changed paths:
    M cmake/Modules/FindLibElf.cmake
    M cmake/cap_arch_def.cmake
    M cmake/packages.cmake
    M common/h/dyn_regs.h
    M dataflowAPI/rose/semantics/DispatcherPowerpc.C
    M dwarf/h/dwarfFrameParser.h
    M dwarf/src/dwarfFrameParser.C
    M dyninstAPI/h/BPatch_binaryEdit.h
    M dyninstAPI/src/BPatch_binaryEdit.C
    M dyninstAPI/src/BPatch_memoryAccessAdapter.C
    M dyninstAPI/src/BPatch_memoryAccessAdapter.h
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/Relocation/Springboard.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget-ppc.C
    M dyninstAPI/src/Relocation/Widgets/PCWidget.C
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-x86.C
    M dyninstAPI/src/dynProcess.h
    M dyninstAPI/src/emit-aarch64.C
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-aarch64.h
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/mapped_object.C
    M dyninstAPI/src/parse-power.C
    M dyninstAPI/src/pdwinnt.C
    M dyninstAPI/src/stackwalk-aarch64.C
    M dyninstAPI/src/unix.C
    M dyninstAPI/src/vxworks.C
    M dyninstAPI_RT/src/RTcommon.c
    M dyninstAPI_RT/src/RTstatic_ctors_dtors-ppc64.c
    M instructionAPI/src/InstructionDecoder-aarch64.h
    M instructionAPI/src/aarch64_opcode_tables.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/Parser.C
    M proccontrol/src/int_thread_db.C
    M proccontrol/src/linux.C
    M proccontrol/src/process.C
    M stackwalk/src/aarch64-swk.C
    M stackwalk/src/dbginfo-stepper.C
    M stackwalk/src/frame.C
    M stackwalk/src/framestepper.C
    M stackwalk/src/linux-aarch64-swk.C
    M stackwalk/src/linux-swk.C
    M stackwalk/src/linuxbsd-swk.C
    M stackwalk/src/walker.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Symtab-edit.C
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/emitElfStatic-ppc64.C
    M symtabAPI/src/emitElfStatic-x86.C
    M symtabAPI/src/emitElfStatic.C

  Log Message:
  -----------
  Merge remote-tracking branch 'upstream/master' into new-parallel-symtab


  Commit: d5c62dd061d24dc65d6d33005ef06911b4e45258
      https://github.com/dyninst/dyninst/commit/d5c62dd061d24dc65d6d33005ef06911b4e45258
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-09 (Tue, 09 Apr 2019)

  Changed paths:
    M common/h/vgannotations.h
    M parseAPI/src/Block.C
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/CFGModifier.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/Function.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser-speculative.C
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C
    M parseAPI/src/ProbabilisticParser.C
    M parseAPI/src/ProbabilisticParser.h
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Add libc++ annotations to vgannotations, and shift includes around to make them work


  Commit: 4eb3c62e4760b4425e48f24930f4ffa68dc6bce1
      https://github.com/dyninst/dyninst/commit/4eb3c62e4760b4425e48f24930f4ffa68dc6bce1
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-09 (Tue, 09 Apr 2019)

  Changed paths:
    M common/h/mcs-lock.h
    M common/h/pfq-rwlock.h
    M common/src/mcs-lock.C
    M common/src/pfq-rwlock.C

  Log Message:
  -----------
  Actually do the annotations right. I learned things today.


  Commit: 4a729565d044aaef7700aa04c7e633216c13c668
      https://github.com/dyninst/dyninst/commit/4a729565d044aaef7700aa04c7e633216c13c668
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-09 (Tue, 09 Apr 2019)

  Changed paths:
    M common/src/mcs-lock.C
    M common/src/pfq-rwlock.C

  Log Message:
  -----------
  Tell Helgrind to ignore a few more things


  Commit: 2d8e3c4f5186c2dccc66ab3132dc11598af35fd1
      https://github.com/dyninst/dyninst/commit/2d8e3c4f5186c2dccc66ab3132dc11598af35fd1
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-09 (Tue, 09 Apr 2019)

  Changed paths:
    M common/src/mcs-lock.C
    M common/src/pfq-rwlock.C

  Log Message:
  -----------
  Disable checking on everything


  Commit: 3ce5c61229e3c9af076c632e75a31c9f76f3f87d
      https://github.com/dyninst/dyninst/commit/3ce5c61229e3c9af076c632e75a31c9f76f3f87d
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-11 (Thu, 11 Apr 2019)

  Changed paths:
    M common/src/mcs-lock.C
    M common/src/pfq-rwlock.C

  Log Message:
  -----------
  A few tweaks to annotation


  Commit: 10403b96889345af7d98a568bf65c23e6faf3eaf
      https://github.com/dyninst/dyninst/commit/10403b96889345af7d98a568bf65c23e6faf3eaf
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-11 (Thu, 11 Apr 2019)

  Changed paths:
    M common/src/pfq-rwlock.C

  Log Message:
  -----------
  Add h-b arcs to the pfq rwlock


  Commit: 50da2058d418f72871f241529095721963cbde46
      https://github.com/dyninst/dyninst/commit/50da2058d418f72871f241529095721963cbde46
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-12 (Fri, 12 Apr 2019)

  Changed paths:
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  Apparently vectors didn't work like I thought they did. Whoops.


  Commit: 8dc3a379d9ee76a6f048c752c40b6fc2e9038eef
      https://github.com/dyninst/dyninst/commit/8dc3a379d9ee76a6f048c752c40b6fc2e9038eef
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-12 (Fri, 12 Apr 2019)

  Changed paths:
    M common/src/pfq-rwlock.C
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Elfutils is now more thread-safe, and fix the annotations to keep DRD quiet.


  Commit: 5c4e3b5b419440e4e1373edda130bc6484d275cf
      https://github.com/dyninst/dyninst/commit/5c4e3b5b419440e4e1373edda130bc6484d275cf
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-13 (Sat, 13 Apr 2019)

  Changed paths:
    R common/h/vgannotations.h
    A common/src/vgannotations.h
    M parseAPI/src/ParseData.h
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Make vgannotations.h local to Dyninst, and do something C++ for the lazy inits.


  Commit: 7c1c27f8ecf3acfd7a04db7f61634c5a69c07922
      https://github.com/dyninst/dyninst/commit/7c1c27f8ecf3acfd7a04db7f61634c5a69c07922
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-13 (Sat, 13 Apr 2019)

  Changed paths:
    M common/h/IBSTree-fast.h
    M common/h/IBSTree.h
    A common/h/locks.h
    R common/h/mcs-lock.h
    R common/h/pfq-rwlock.h
    M common/src/mcs-lock.C
    M common/src/pfq-rwlock.C
    M parseAPI/h/CodeSource.h
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Symtab-edit.C
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/Symtab.C

  Log Message:
  -----------
  Make the custom locks first-class C++ types, and compatible with C++17's syntax.


  Commit: f3a310fe9f1fe1396058e37be150eaab67a2588c
      https://github.com/dyninst/dyninst/commit/f3a310fe9f1fe1396058e37be150eaab67a2588c
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-14 (Sun, 14 Apr 2019)

  Changed paths:
    M common/CMakeLists.txt
    M common/h/locks.h
    R common/src/mcs-lock.C
    M common/src/pfq-rwlock.C

  Log Message:
  -----------
  Replace the lock implementations with more reasonable alternatives.


  Commit: 9fb86e9a62dd883eca97c1bef9202e9b8d3f8007
      https://github.com/dyninst/dyninst/commit/9fb86e9a62dd883eca97c1bef9202e9b8d3f8007
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-18 (Thu, 18 Apr 2019)

  Changed paths:
    M parseAPI/src/ParseData.h

  Log Message:
  -----------
  Move the annotation to handle the case where std::pair does the write


  Commit: effddc7a8819951bfb4067305bbeae070a9e0293
      https://github.com/dyninst/dyninst/commit/effddc7a8819951bfb4067305bbeae070a9e0293
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-19 (Fri, 19 Apr 2019)

  Changed paths:
    M common/h/IBSTree-fast.h
    M common/h/IBSTree.h
    A common/h/concurrent.h
    R common/h/locks.h
    M common/src/pfq-rwlock.C
    M common/src/singleton_object_pool.h
    M dyninstAPI/src/BPatch.C
    M instructionAPI/src/InstructionDecoderImpl.C
    M instructionAPI/src/Operation.C
    M parseAPI/h/CodeSource.h
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/h/Collections.h
    M symtabAPI/h/Module.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/h/Type.h
    M symtabAPI/src/Collections.C
    M symtabAPI/src/Type-mem.h
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  Unify all the TBB types under a Dyninst-tagged namespace, to permit refactor

Also fix a few whitespace errors near affected lines.


  Commit: 0b53b857f63d8cd8421cd80ae125171374db5424
      https://github.com/dyninst/dyninst/commit/0b53b857f63d8cd8421cd80ae125171374db5424
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-19 (Fri, 19 Apr 2019)

  Changed paths:
    M common/h/concurrent.h
    M common/src/vgannotations.h
    M instructionAPI/src/Operation.C
    M parseAPI/src/ParseData.h
    M symtabAPI/src/Module.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  Move concurrent_hash_map annotations into the unified class.


  Commit: 21d89ccc5691542da42c779ff5444381247f357e
      https://github.com/dyninst/dyninst/commit/21d89ccc5691542da42c779ff5444381247f357e
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-19 (Fri, 19 Apr 2019)

  Changed paths:
    M common/CMakeLists.txt
    M common/h/concurrent.h
    A common/src/concurrent.C
    M parseAPI/h/CodeSource.h
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  Shift the thread-local stuff into a template class


  Commit: 9eb55c658ff1a054c0546530b84a2fc6c0a2674b
      https://github.com/dyninst/dyninst/commit/9eb55c658ff1a054c0546530b84a2fc6c0a2674b
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-20 (Sat, 20 Apr 2019)

  Changed paths:
    M symtabAPI/h/Aggregate.h
    M symtabAPI/h/Function.h
    M symtabAPI/src/Aggregate.C
    M symtabAPI/src/Symtab-edit.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Wiggle the parallel loops and fine-grain the locking for a performance boost.


  Commit: 8e60d4a50a0e2748c1da529736be0858efe40cee
      https://github.com/dyninst/dyninst/commit/8e60d4a50a0e2748c1da529736be0858efe40cee
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-21 (Sun, 21 Apr 2019)

  Changed paths:
    M common/src/vgannotations.h

  Log Message:
  -----------
  Use Boost's call_once to try and be a bit more portable


  Commit: d9e672c4f03f5a1e3fd1301c66832b17758add47
      https://github.com/dyninst/dyninst/commit/d9e672c4f03f5a1e3fd1301c66832b17758add47
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-24 (Wed, 24 Apr 2019)

  Changed paths:
    M dwarf/CMakeLists.txt
    M dwarf/h/dwarfFrameParser.h
    M dwarf/src/dwarfFrameParser.C

  Log Message:
  -----------
  Put some parallelism into DwarfFrameParser. Fixes blue42u/dyninst#18 and blue42u/dyninst#19


  Commit: 09ec532baa312a116bd9ab0b2aa5ed9bf60f8bed
      https://github.com/dyninst/dyninst/commit/09ec532baa312a116bd9ab0b2aa5ed9bf60f8bed
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-27 (Sat, 27 Apr 2019)

  Changed paths:
    M symtabAPI/h/Type.h
    M symtabAPI/src/Type.C

  Log Message:
  -----------
  Use atomics for the reference counting. Fixes blue42u/dyninst#4.


  Commit: a8e84fb21df18d12d524c99cd6258d7bb2cb4cf3
      https://github.com/dyninst/dyninst/commit/a8e84fb21df18d12d524c99cd6258d7bb2cb4cf3
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-27 (Sat, 27 Apr 2019)

  Changed paths:
    M symtabAPI/h/StringTable.h
    M symtabAPI/src/Function.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Add an extra lock to the StringTable, and use it to mediate access to the internals. Fixes blue42u/dyninst#20.


  Commit: 46dd28894183ca6a6b4da514028e28c98aa9903b
      https://github.com/dyninst/dyninst/commit/46dd28894183ca6a6b4da514028e28c98aa9903b
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-27 (Sat, 27 Apr 2019)

  Changed paths:
    M symtabAPI/h/Function.h
    M symtabAPI/src/Function.C

  Log Message:
  -----------
  Add a lock for inlines management, fixes blue42u/dyninst#22.


  Commit: ae4e8d08dc6c1db08a918883718da1462f28e49a
      https://github.com/dyninst/dyninst/commit/ae4e8d08dc6c1db08a918883718da1462f28e49a
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-27 (Sat, 27 Apr 2019)

  Changed paths:
    M symtabAPI/h/Function.h
    M symtabAPI/src/Function.C
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Add a lock to the function frame vectors, fixes blue42u/dyninst#21.


  Commit: 40ef8a1ec6b5229d2f0f035a83df4677bfe266c9
      https://github.com/dyninst/dyninst/commit/40ef8a1ec6b5229d2f0f035a83df4677bfe266c9
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-28 (Sun, 28 Apr 2019)

  Changed paths:
    M symtabAPI/h/Collections.h
    M symtabAPI/src/Collections.C

  Log Message:
  -----------
  Replace a map+lock with a proper parallel hashmap for performance.


  Commit: 44771ce39dc24c0c603c7598d474f733f424629e
      https://github.com/dyninst/dyninst/commit/44771ce39dc24c0c603c7598d474f733f424629e
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-28 (Sun, 28 Apr 2019)

  Changed paths:
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Symtab-edit.C
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/Symtab.C

  Log Message:
  -----------
  Replace a mutex'd multi_index_container with a series of concurrent_hash_maps.


  Commit: 6917900f56c825eeaeddfb6e7b3675a7d69c3b92
      https://github.com/dyninst/dyninst/commit/6917900f56c825eeaeddfb6e7b3675a7d69c3b92
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-04-30 (Tue, 30 Apr 2019)

  Changed paths:
    M common/src/linuxKludges.C
    M dataflowAPI/src/debug_dataflow.C
    M parseAPI/h/CFG.h
    M parseAPI/h/LockFreeQueue.h
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/src/Collections.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/Type-mem.h
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Remove the comments that were left over from Cilkscreen race detection.

...I meant to do this a long time ago...


  Commit: 572e87673db738133969bf5de048b11f54756816
      https://github.com/dyninst/dyninst/commit/572e87673db738133969bf5de048b11f54756816
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-06-30 (Sun, 30 Jun 2019)

  Changed paths:
    M common/src/concurrent.C
    M parseAPI/src/Function.C
    M parseAPI/src/Parser.C
    M symtabAPI/h/Type.h
    M symtabAPI/src/Collections.C
    M symtabAPI/src/Module.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  Fix a number of minor issues, and one possibly important typo.


  Commit: 8aa6efef6bd85c89c597d1d0ac12d941e680a9af
      https://github.com/dyninst/dyninst/commit/8aa6efef6bd85c89c597d1d0ac12d941e680a9af
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-06-30 (Sun, 30 Jun 2019)

  Changed paths:
    M common/h/IBSTree-fast.h
    M common/h/IBSTree.h
    M common/h/concurrent.h
    M common/src/pfq-rwlock.C
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  Use RAII-style classes when handling the locks.


  Commit: 1f5ad0107c4a51c99f69e5a48f52bf44f71752b7
      https://github.com/dyninst/dyninst/commit/1f5ad0107c4a51c99f69e5a48f52bf44f71752b7
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-01 (Mon, 01 Jul 2019)

  Changed paths:
    M .github_changelog_generator
    M .gitmodules
    R .syntastic_cpp_config
    M CHANGELOG.md
    M CMakeLists.txt
    M README.md
    A cmake/Boost.cmake
    A cmake/ElfUtils.cmake
    A cmake/LibIberty.cmake
    A cmake/Modules/DyninstSystemPaths.cmake
    A cmake/Modules/FindBoost.cmake
    M cmake/Modules/FindLibDwarf.cmake
    M cmake/Modules/FindLibElf.cmake
    M cmake/Modules/FindLibIberty.cmake
    R cmake/Modules/FindTBB
    M cmake/Modules/FindTBB.cmake
    A cmake/ThreadingBuildingBlocks.cmake
    A cmake/ThreadingBuildingBlocks.install.cmake
    M cmake/cap_arch_def.cmake
    M cmake/options.cmake
    M cmake/packages.cmake
    M cmake/shared.cmake
    M common/CMakeLists.txt
    M common/doc/manual_frontpage.tex
    M common/h/dyn_regs.h
    M common/h/entryIDs.h
    M common/src/arch-x86.C
    M common/src/arch-x86.h
    M common/src/dyn_regs.C
    M dataflowAPI/doc/dataflowAPI.pdf
    M dataflowAPI/src/ExpressionConversionVisitor.C
    M dataflowAPI/src/RoseInsnFactory.C
    M dataflowAPI/src/SymEval.C
    M dataflowAPI/src/slicing.C
    M dwarf/CMakeLists.txt
    M dwarf/h/dwarfFrameParser.h
    M dwarf/h/dwarfHandle.h
    M dwarf/h/dwarfResult.h
    M dwarf/src/dwarfExprParser.C
    M dwarf/src/dwarfFrameParser.C
    M dwarf/src/dwarfResult.C
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI/doc/dyninstAPI.docx
    M dyninstAPI/doc/dyninstAPI.pdf
    M dyninstAPI/h/BPatch_snippet.h
    M dyninstAPI/src/BPatch_memoryAccessAdapter.C
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/Relocation/CFG/RelocBlock.C
    M dyninstAPI/src/Relocation/CodeMover.C
    M dyninstAPI/src/Relocation/Springboard.C
    M dyninstAPI/src/Relocation/Springboard.h
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.h
    M dyninstAPI/src/Relocation/Transformers/Transformer.h
    A dyninstAPI/src/Relocation/Widgets/PCWidget-aarch64.C
    A dyninstAPI/src/Relocation/Widgets/PCWidget-ppc.C
    A dyninstAPI/src/Relocation/Widgets/PCWidget-x86.C
    M dyninstAPI/src/Relocation/Widgets/PCWidget.C
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/ast.h
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/mapped_module.C
    M dyninstAPI/src/registerSpace.C
    M dyninstAPI/src/stackwalk-aarch64.C
    M dyninstAPI_RT/CMakeLists.txt
    M elf/CMakeLists.txt
    M examples/CMakeLists.txt
    M instructionAPI/doc/instructionAPI.pdf
    M instructionAPI/src/InstructionDecoder-x86.C
    M parseAPI/doc/parseAPI.pdf
    M parseAPI/h/CFG.h
    M parseAPI/h/CodeObject.h
    M parseAPI/src/Block.C
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/CFGModifier.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/Function.C
    M parseAPI/src/IA_aarch64.C
    M parseAPI/src/IA_power.C
    M parseAPI/src/IA_x86.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M patchAPI/doc/Makefile.doc
    M patchAPI/doc/patchAPI.pdf
    A patchAPI/example/README.md
    A patchAPI/example/main.cpp
    A patchAPI/example/mutatee/main.c
    M proccontrol/doc/proccontrol.docx
    M proccontrol/doc/proccontrol.pdf
    M proccontrol/h/Event.h
    M proccontrol/h/PCProcess.h
    M proccontrol/h/ProcessSet.h
    M proccontrol/src/int_thread_db.C
    M proccontrol/src/int_thread_db.h
    M proccontrol/src/irpc.h
    M proccontrol/src/linux.C
    M proccontrol/src/response.h
    M proccontrol/src/windows_handler.h
    M stackwalk/src/dbginfo-stepper.C
    M stackwalk/src/linux-aarch64-swk.C
    M symtabAPI/CMakeLists.txt
    M symtabAPI/doc/symtabAPI.pdf
    M symtabAPI/src/Symbol.C
    M symtabAPI/src/emitElf.C

  Log Message:
  -----------
  Merge branch 'master' of https://github.com/dyninst/dyninst into new-parallel-symtab


  Commit: 9e173272513b6b8a7b17d9c02b159ced3d6d8907
      https://github.com/dyninst/dyninst/commit/9e173272513b6b8a7b17d9c02b159ced3d6d8907
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-01 (Mon, 01 Jul 2019)

  Changed paths:
    M common/src/vgannotations.h

  Log Message:
  -----------
  Add a few defines for when Valgrind annotations are turned off.


  Commit: ef903e436fe3d91e0abda09b1f8004d97253b528
      https://github.com/dyninst/dyninst/commit/ef903e436fe3d91e0abda09b1f8004d97253b528
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-17 (Wed, 17 Jul 2019)

  Changed paths:
    M common/h/concurrent.h
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Object.C
    M symtabAPI/src/Object.h

  Log Message:
  -----------
  Parallelize some stuff in Object, makes the loading of files a little faster.


  Commit: 12d5d29020f3515f0f7fca0c2b632696007695f6
      https://github.com/dyninst/dyninst/commit/12d5d29020f3515f0f7fca0c2b632696007695f6
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-17 (Wed, 17 Jul 2019)

  Changed paths:
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Object.C
    M symtabAPI/src/Object.h
    M symtabAPI/src/Symtab-edit.C
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/Symtab.C

  Log Message:
  -----------
  Swap out some hash_maps for their concurrent forms, more easy parallelism.


  Commit: 26147c57e3c0a8d0abeeae1b2f66d13c1de0ad91
      https://github.com/dyninst/dyninst/commit/26147c57e3c0a8d0abeeae1b2f66d13c1de0ad91
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-18 (Thu, 18 Jul 2019)

  Changed paths:
    M symtabAPI/h/Aggregate.h
    M symtabAPI/src/Aggregate.C
    M symtabAPI/src/Object-elf.C

  Log Message:
  -----------
  Actually do the parsing properly, and add a lock where it was needed.


  Commit: e7ddeb8dd14f58a41010c1f91496ff539e28724c
      https://github.com/dyninst/dyninst/commit/e7ddeb8dd14f58a41010c1f91496ff539e28724c
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-18 (Thu, 18 Jul 2019)

  Changed paths:
    M symtabAPI/src/Object-elf.C

  Log Message:
  -----------
  Adding more parallelism.


  Commit: af5fb3a376c55eb9d0f434c68f1cd93dd41a4f04
      https://github.com/dyninst/dyninst/commit/af5fb3a376c55eb9d0f434c68f1cd93dd41a4f04
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Get rid of unnecessary serial code in finalization and add parallelism for hints initialization


  Commit: 99f10e2b4e29702d3ede08ebb610350560ab0114
      https://github.com/dyninst/dyninst/commit/99f10e2b4e29702d3ede08ebb610350560ab0114
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
    M common/src/arch-x86.C
    M parseAPI/src/IA_IAPI.C
    M parseAPI/src/IA_IAPI.h
    M parseAPI/src/ParseData.C

  Log Message:
  -----------
  Removed a lock, and attempts to fix the resulting issues that arose afterwards.


  Commit: a30a50978cae2c388a494e5b732fcddd834d7148
      https://github.com/dyninst/dyninst/commit/a30a50978cae2c388a494e5b732fcddd834d7148
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  Tweaks to remove the phase-based approach


  Commit: e9c83a1b34cb51e841bba144f866371e65f2ef70
      https://github.com/dyninst/dyninst/commit/e9c83a1b34cb51e841bba144f866371e65f2ef70
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
    M parseAPI/src/Parser.C
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  1. Fix missing parsed edges caused by early resuming frames
2. Always choosing the alphabetically smallest name for a function if there are multiple


  Commit: b8145f5a025ec6dd7ade98f19a93f4cbbfa1d4e8
      https://github.com/dyninst/dyninst/commit/b8145f5a025ec6dd7ade98f19a93f4cbbfa1d4e8
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Delete swap_busy


  Commit: 3f6f9b407499fb2f97920c4dced8ff613ac42af4
      https://github.com/dyninst/dyninst/commit/3f6f9b407499fb2f97920c4dced8ff613ac42af4
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
    M parseAPI/src/IA_IAPI.C
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  1. Handle ud2 instruction, which will raise an undefined opcode exception. Therefore, control flow should not fall through
2. When deleting a bogus function, the reference counts of the blocks in the function should be decremented


  Commit: 46cd42f246248033ae8dc11dd5b726c52e0b668b
      https://github.com/dyninst/dyninst/commit/46cd42f246248033ae8dc11dd5b726c52e0b668b
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/ParserDetails.C

  Log Message:
  -----------
  1. Rewrite createAndRecordFrame to allow concurrent frame creations.
2. Simplify the use of frame status: BAD_LOOKUP means frame does not exists
   and a caller should only create a new frame when the result is BAD_LOOKUP


  Commit: 28a2236f1524b40cf6b54fb56691fc35bc8ce861
      https://github.com/dyninst/dyninst/commit/28a2236f1524b40cf6b54fb56691fc35bc8ce861
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C

  Log Message:
  -----------
  1. Resume functions as soon as a function finds a ret instruction
2. Rewrite parts of the tail call correction in finalization


  Commit: 99088dddc69a854abdc56ce0a9296430ff0caafb
      https://github.com/dyninst/dyninst/commit/99088dddc69a854abdc56ce0a9296430ff0caafb
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Estimate parsing task size by function symbol size
and launch large tasks first


  Commit: 8c90172fd4dddfbe565b35f88fcd76aae6ad506a
      https://github.com/dyninst/dyninst/commit/8c90172fd4dddfbe565b35f88fcd76aae6ad506a
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Delete omp critical in parisng of a fram


  Commit: c5efd5c92b7d470b76b5f59d94dc2af4d251db4a
      https://github.com/dyninst/dyninst/commit/c5efd5c92b7d470b76b5f59d94dc2af4d251db4a
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
    M parseAPI/src/BoundFactCalculator.C

  Log Message:
  -----------
  Get rid of unnecessary assert


  Commit: 98ed6450a3ca3234b423b2f9b904e9d9c64adde5
      https://github.com/dyninst/dyninst/commit/98ed6450a3ca3234b423b2f9b904e9d9c64adde5
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
    M symtabAPI/h/Function.h
    M symtabAPI/src/Function.C
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Small changes to fix some maybe-races


  Commit: e032320e3e94ed2b27ea2f8a61e64708f5145d06
      https://github.com/dyninst/dyninst/commit/e032320e3e94ed2b27ea2f8a61e64708f5145d06
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
    M common/h/concurrent.h
    M common/src/concurrent.C
    M common/src/vgannotations.h
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Munge the annotations for c_hash_map a little, and hotfix a possible race.


  Commit: 352fd9ba8f1b07569c58bbeb7ce7b5db68fd607e
      https://github.com/dyninst/dyninst/commit/352fd9ba8f1b07569c58bbeb7ce7b5db68fd607e
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-26 (Fri, 26 Jul 2019)

  Changed paths:
    M common/src/concurrent.C
    M dataflowAPI/h/slicing.h
    M dyninstAPI/src/parse-cfg.h
    M parseAPI/h/CFG.h
    M parseAPI/src/IA_aarch64.h
    M parseAPI/src/IA_power.h

  Log Message:
  -----------
  Silence a number of warnings. Identations a mess but its quieter.


  Commit: b6c6d2335e640b7f3bd8826272ddd534a257a654
      https://github.com/dyninst/dyninst/commit/b6c6d2335e640b7f3bd8826272ddd534a257a654
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-26 (Fri, 26 Jul 2019)

  Changed paths:
    M common/h/concurrent.h
    M common/src/concurrent.C
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Rewrite the c_hash_map to expose the accessors as a rwlock.


  Commit: 3bb83c754967f3f1f35f93c3560b5126a1cb4ec3
      https://github.com/dyninst/dyninst/commit/3bb83c754967f3f1f35f93c3560b5126a1cb4ec3
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-07-26 (Fri, 26 Jul 2019)

  Changed paths:
    M common/h/concurrent.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  Replace lock for delayed frames with concurrent hash map


  Commit: 5272ebda5b6c08a15051acc5171badcdfec3b1e4
      https://github.com/dyninst/dyninst/commit/5272ebda5b6c08a15051acc5171badcdfec3b1e4
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-07-26 (Fri, 26 Jul 2019)

  Changed paths:
    M parseAPI/h/CodeSource.h
    M parseAPI/src/CodeObject.C
    M parseAPI/src/Parser.C
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/h/Function.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Symtab-lookup.C

  Log Message:
  -----------
  Parallelize SymtabCodeSource::init_hints


  Commit: 439420959ed700b070dde3e4ac241f63bfd371d5
      https://github.com/dyninst/dyninst/commit/439420959ed700b070dde3e4ac241f63bfd371d5
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-07-26 (Fri, 26 Jul 2019)

  Changed paths:
    M parseAPI/src/CodeObject.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  Parallelize CodeObject::process_hints


  Commit: 343f14562c1806404ec0aef98c8588380f20e278
      https://github.com/dyninst/dyninst/commit/343f14562c1806404ec0aef98c8588380f20e278
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-26 (Fri, 26 Jul 2019)

  Changed paths:
    M common/h/concurrent.h
    M parseAPI/h/CodeSource.h
    M parseAPI/src/CodeObject.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/h/Function.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Symtab-lookup.C

  Log Message:
  -----------
  Merge branch 'to-test-v2' of github.com:mxz297/dyninst into to-test-v2


  Commit: 83e64e4278addfefd2bbcb2fe4ffe6da49623442
      https://github.com/dyninst/dyninst/commit/83e64e4278addfefd2bbcb2fe4ffe6da49623442
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-07-27 (Sat, 27 Jul 2019)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Fix an infinite loop in the parsing finalization stages.


  Commit: c3c799177e151b48f93f30392a72cf1483321cdf
      https://github.com/dyninst/dyninst/commit/c3c799177e151b48f93f30392a72cf1483321cdf
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-07-27 (Sat, 27 Jul 2019)

  Changed paths:
    M parseAPI/src/CodeObject.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/Parser.C
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  1. Fix parallelization for CodeObject::process_hint(): a local variable declared is moved from outside loop to inside loop
2. Fix debug print crash in Parser.C
3. Some code cleanup


  Commit: b49c25ec10d5bc95fb9587da0cf05432c0560498
      https://github.com/dyninst/dyninst/commit/b49c25ec10d5bc95fb9587da0cf05432c0560498
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-08-12 (Mon, 12 Aug 2019)

  Changed paths:
    M dyninstAPI/src/Parsing.C
    M dyninstAPI/src/Parsing.h

  Log Message:
  -----------
  ParseAPI now initialize hints in parallel. So, if the user of ParseAPI overloads the function for creating
ParseAPI::Function, that code should be thread-safe.

Change the DynCFGFactor in dyninstAPI to use mutex to be thread-safe.


  Commit: 664ed46cf79c447c15251496e08d91e43ba20225
      https://github.com/dyninst/dyninst/commit/664ed46cf79c447c15251496e08d91e43ba20225
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-08-12 (Mon, 12 Aug 2019)

  Changed paths:
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  Lasily preparing range data for functions and blocks.


  Commit: 6b999a2c26cfe65cd69fbddf00a2943b9ab92152
      https://github.com/dyninst/dyninst/commit/6b999a2c26cfe65cd69fbddf00a2943b9ab92152
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-08-13 (Tue, 13 Aug 2019)

  Changed paths:
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  Add block ranges and clean some dead code


  Commit: 545eada772c0010e54e936545987a61eef2dcff4
      https://github.com/dyninst/dyninst/commit/545eada772c0010e54e936545987a61eef2dcff4
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-08-13 (Tue, 13 Aug 2019)

  Changed paths:
    M CMakeLists.txt
    A cmake/Modules/FindValgrind.cmake
    M common/src/vgannotations.h

  Log Message:
  -----------
  Add a CMake flag to enable Valgrind annotations


  Commit: cb83aeea7a1a73d3a74520c1ffcc23befed6ca8d
      https://github.com/dyninst/dyninst/commit/cb83aeea7a1a73d3a74520c1ffcc23befed6ca8d
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-08-13 (Tue, 13 Aug 2019)

  Changed paths:
    M parseAPI/h/CodeSource.h
    M parseAPI/src/CodeObject.C
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/src/Object-elf.C

  Log Message:
  -----------
  Use dyn_c_vector, and disable the parallelism for ELF stuff for now.


  Commit: a88049cd59ca35ea5c3657a39737263e1f370518
      https://github.com/dyninst/dyninst/commit/a88049cd59ca35ea5c3657a39737263e1f370518
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-08-13 (Tue, 13 Aug 2019)

  Changed paths:
    M symtabAPI/h/Function.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Object-elf.h
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Rough additions of locks in various places to make things work.


  Commit: a0959d51c7f2a56eca56d98ff637425c439de631
      https://github.com/dyninst/dyninst/commit/a0959d51c7f2a56eca56d98ff637425c439de631
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-08-13 (Tue, 13 Aug 2019)

  Changed paths:
    M symtabAPI/src/Module.C

  Log Message:
  -----------
  Properly initialize the Module in all constructors.


  Commit: 1ad7de9ef5ffe9302a9a4e74599014ed15999cd9
      https://github.com/dyninst/dyninst/commit/1ad7de9ef5ffe9302a9a4e74599014ed15999cd9
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-08-13 (Tue, 13 Aug 2019)

  Changed paths:
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  Fix compilation


  Commit: 3af081cafa0921b2d94ba440e63872ed7b67d015
      https://github.com/dyninst/dyninst/commit/3af081cafa0921b2d94ba440e63872ed7b67d015
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-08-13 (Tue, 13 Aug 2019)

  Changed paths:
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/LoopAnalyzer.C

  Log Message:
  -----------
  Get rid unnecessary boost::lock_guard and use entry lookup in loop tree construction


  Commit: 228a337beb92ce47327246f579d3497f58c9fb21
      https://github.com/dyninst/dyninst/commit/228a337beb92ce47327246f579d3497f58c9fb21
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M instructionAPI/src/InstructionDecoder-aarch64.h
    M instructionAPI/src/aarch64_opcode_tables.C

  Log Message:
  -----------
  Use static AArch64 decoder tables. Fixes dyninst/dyninst#630.

Other improvements include faster compile time (for affected files),
~1s less load time, ~7.8MiB smaller binary, and ~200KiB more memory usage.

Performance effects not yet tested.


  Commit: 3b005ae7ec3f6950691185a65e9b45afc7e95bfe
      https://github.com/dyninst/dyninst/commit/3b005ae7ec3f6950691185a65e9b45afc7e95bfe
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-08-15 (Thu, 15 Aug 2019)

  Changed paths:
    M parseAPI/src/ParseData.C

  Log Message:
  -----------
  Should not delete unused ParseAPI::Function during parsing because CFGFactory will do delete all created functions in its destructor.


  Commit: 6de6a794dd2c4c4bb0de7150791e8205d0d64d47
      https://github.com/dyninst/dyninst/commit/6de6a794dd2c4c4bb0de7150791e8205d0d64d47
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-08-16 (Fri, 16 Aug 2019)

  Changed paths:
    M common/src/MappedFile.C
    M dyninstAPI/src/inst-aarch64.C
    M elf/src/Elf_X.C
    M instructionAPI/h/Result.h
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/emitElf.h

  Log Message:
  -----------
  Merge remote-tracking branch 'upstream/master' into parallel-parse-symtab


  Commit: 97b66e2f8c07dab1e6c5ff97d72b4ccbab0c3870
      https://github.com/dyninst/dyninst/commit/97b66e2f8c07dab1e6c5ff97d72b4ccbab0c3870
  Author: blue42u <blue42u@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2019-08-16 (Fri, 16 Aug 2019)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Use exchange instead of store to keep Valgrind happy.


  Commit: 4cc8808579043c74b1824136eddcb18176ebe68a
      https://github.com/dyninst/dyninst/commit/4cc8808579043c74b1824136eddcb18176ebe68a
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-08-16 (Fri, 16 Aug 2019)

  Changed paths:
    M parseAPI/src/IA_IAPI.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/ParserDetails.C

  Log Message:
  -----------
  Several fixes for analyzing .a files

1. Rewrite the OverlappingParseData to correct handle overlapping code regions.
2. In .o files, code starts at address 0, so address 0 can be a valid address.
   So, change indirect call target from address 0 to max address to represent indiret calls
3. Use CodeSource to check address validity, which would allow cross CodeRegions valid address;
   but use CodeRegion for raw code bytes, because using CodeSource may return code bytes
   from other regions that are overlapping.


  Commit: f5682974106d1ecc37b8b3133117579f52442178
      https://github.com/dyninst/dyninst/commit/f5682974106d1ecc37b8b3133117579f52442178
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-08-17 (Sat, 17 Aug 2019)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Fixes for gap parsing, which uses a different interface to call Parser


  Commit: 6f0a6badfb7e74f569d024c350fe725ad31a71e3
      https://github.com/dyninst/dyninst/commit/6f0a6badfb7e74f569d024c350fe725ad31a71e3
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-08-18 (Sun, 18 Aug 2019)

  Changed paths:
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  Fix range data related to gap parsing


  Commit: e0cd4dd242f06adaa6e606da2cbbbf51130e88b2
      https://github.com/dyninst/dyninst/commit/e0cd4dd242f06adaa6e606da2cbbbf51130e88b2
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-08-20 (Tue, 20 Aug 2019)

  Changed paths:
    M parseAPI/src/LoopAnalyzer.C

  Log Message:
  -----------
  Fix loop tree callee construction on Power


  Commit: 56b75c284d5e970f13bd1633c5ea75c1e0002572
      https://github.com/dyninst/dyninst/commit/56b75c284d5e970f13bd1633c5ea75c1e0002572
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-08-21 (Wed, 21 Aug 2019)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Fix function removing in parsing finalization


  Commit: 278bcddbb0f7abf421ac0eae65547f1a3c86fe24
      https://github.com/dyninst/dyninst/commit/278bcddbb0f7abf421ac0eae65547f1a3c86fe24
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-08-21 (Wed, 21 Aug 2019)

  Changed paths:
    M common/src/vgannotations.h

  Log Message:
  -----------
  Fix crahses of symtabAPI tests on power


Compare: https://github.com/dyninst/dyninst/compare/51e83198b7fd%5E...278bcddbb0f7
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 51e831: changes for parallelizing symtabapi, Xiaozhu Meng <=