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.
|