Branch: refs/heads/new-parallel-parsing
Home: https://github.com/dyninst/dyninst
Commit: 0777c247db559a2a8d5988a2045c917829f60d7c
https://github.com/dyninst/dyninst/commit/0777c247db559a2a8d5988a2045c917829f60d7c
Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
Date: 2018-10-16 (Tue, 16 Oct 2018)
Changed paths:
M parseAPI/h/CFG.h
M parseAPI/src/ParseData.C
M parseAPI/src/ParseData.h
M parseAPI/src/Parser.C
M parseAPI/src/Parser.h
Log Message:
-----------
1. Use a new tbb::concurrent_hash_map to record block end.
In addition, when adding out-going edges to a block, we
first query the block end hash map to get the accessor
to the block. When splitting the block, we also first
query the block end hash map to get the access to the block.
tbb::concurrent_hash_map provides implicit read-write lock
through the accessor. Therefore, we enforce that adding
out-going edges are not going to be concurrent with block split.
2. Add a bunch of asserts that check edge consistency. This is
for debug purpose and will be removed later
**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.
|