[DynInst_API:] [dyninst/dyninst] 83855d: Fix non-deterministic parallel parsing on POWER 8....


Date: Mon, 10 Sep 2018 15:07:21 -0700
From: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 83855d: Fix non-deterministic parallel parsing on POWER 8....
  Branch: refs/heads/new-parallel-parsing
  Home:   https://github.com/dyninst/dyninst
  Commit: 83855db1d9025169fba1e6b1e9ce114fc8eb5d81
      https://github.com/dyninst/dyninst/commit/83855db1d9025169fba1e6b1e9ce114fc8eb5d81
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-09-10 (Mon, 10 Sep 2018)

  Changed paths:
    M parseAPI/h/CFG.h
    M parseAPI/src/Block.C
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/Function.C
    M parseAPI/src/IA_power.C
    M parseAPI/src/Parser.C
    M parseAPI/src/ParserDetails.C

  Log Message:
  -----------
  Fix non-deterministic parallel parsing on POWER 8. The problems are
mostly related to the new ABI, where each function has two entries.

1. Tail call heuristics need to find the function with a normal
   function name
2. A function having two entries cause many ParseAPI::Function to
   share code. This exposes issues in our non-returning function
   analysis.

   2.A. The two ParseAPI::Function should have the same return status.
  I just let one ParseAPI::Function delayed by the other.
   2.B. No longer use UNKNOWN status. UNKNOWN should just be RETURN
  as we do not know the control flow, so we should assume the
  function may return.



      **NOTE:** This service has 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] 83855d: Fix non-deterministic parallel parsing on POWER 8...., Xiaozhu Meng <=