[DynInst_API:] [dyninst/dyninst] 9f497d: Change function return status to std::atomic to av...


Date: Thu, 31 May 2018 12:44:16 -0700
From: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 9f497d: Change function return status to std::atomic to av...
  Branch: refs/heads/new-parallel-parsing
  Home:   https://github.com/dyninst/dyninst
  Commit: 9f497d9590bfef991005b57c4ef971b7314d5bed
      https://github.com/dyninst/dyninst/commit/9f497d9590bfef991005b57c4ef971b7314d5bed
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-05-29 (Tue, 29 May 2018)

  Changed paths:
    M parseAPI/h/CFG.h
    M parseAPI/src/Function.C

  Log Message:
  -----------
  Change function return status to std::atomic to avoid races and deadlock


  Commit: d62e3491ac546cfc6964219fa86f4a9e39718863
      https://github.com/dyninst/dyninst/commit/d62e3491ac546cfc6964219fa86f4a9e39718863
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-05-31 (Thu, 31 May 2018)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Fix handling of changing function return status and checking of cyclic
dependencies
1. Even blocked frame can have a changed return status, so need to
resume delayed caller
2. Due to parallel parsing, when a thread parses a call site, the
callee may still have a UNSET return status, and the callee is being
parsed by another thread. When all threads' work is done, the UNSET
return status is expired, and we need to revalidate delayed work


Compare: https://github.com/dyninst/dyninst/compare/5016030458c1...d62e3491ac54
      **NOTE:** This service been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 9f497d: Change function return status to std::atomic to av..., Xiaozhu Meng <=