projects
/
c11tester.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
6898da1
)
fix bug
author
weiyu
<weiyuluo1232@gmail.com>
Wed, 31 Jul 2019 08:27:03 +0000
(
01:27
-0700)
committer
weiyu
<weiyuluo1232@gmail.com>
Wed, 31 Jul 2019 08:27:03 +0000
(
01:27
-0700)
funcnode.cc
patch
|
blob
|
history
history.cc
patch
|
blob
|
history
diff --git
a/funcnode.cc
b/funcnode.cc
index 1e08f1c508c49350fff0c7476ff55f0a3b221f34..2b2525466d24652e4f7d703f8caf1ceed63077cb 100644
(file)
--- a/
funcnode.cc
+++ b/
funcnode.cc
@@
-124,17
+124,7
@@
void FuncNode::store_read(ModelAction * act, uint32_t tid)
read_map->put(location, read_from_val);
/* Store the memory locations where atomic reads happen */
read_map->put(location, read_from_val);
/* Store the memory locations where atomic reads happen */
- bool push_loc = true;
- mllnode<void *> * it;
- for (it = read_locations.begin();it != NULL;it=it->getNext()) {
- if (location == it->getVal()) {
- push_loc = false;
- break;
- }
- }
-
- if (push_loc)
- read_locations.push_back(location);
+ // read_locations.add(location);
}
uint64_t FuncNode::query_last_read(void * location, uint32_t tid)
}
uint64_t FuncNode::query_last_read(void * location, uint32_t tid)
diff --git
a/history.cc
b/history.cc
index 5af063e3756fc08de613582d90edb4f458a46b0d..60bda965dc1d40852ade46dbe538c54d4141e463 100644
(file)
--- a/
history.cc
+++ b/
history.cc
@@
-29,7
+29,7
@@
void ModelHistory::enter_function(const uint32_t func_id, thread_id_t tid)
if ( thrd_func_list->size() <= id ) {
uint oldsize = thrd_func_list->size();
thrd_func_list->resize( id + 1 );
if ( thrd_func_list->size() <= id ) {
uint oldsize = thrd_func_list->size();
thrd_func_list->resize( id + 1 );
- for(uint i
=oldsize;i<id+1;
i++) {
+ for(uint i
= oldsize; i < id + 1;
i++) {
new(&(*thrd_func_list)[i]) func_id_list_t();
}
thrd_func_inst_lists->resize( id + 1 );
new(&(*thrd_func_list)[i]) func_id_list_t();
}
thrd_func_inst_lists->resize( id + 1 );
@@
-94,6
+94,11
@@
void ModelHistory::resize_func_nodes(uint32_t new_size)
void ModelHistory::process_action(ModelAction *act, thread_id_t tid)
{
void ModelHistory::process_action(ModelAction *act, thread_id_t tid)
{
+ action_type act_type = act->get_type();
+ if (act_type == THREAD_FINISH || act_type == THREAD_JOIN ||
+ act_type == PTHREAD_JOIN || act_type == THREADONLY_FINISH)
+ return;
+
/* return if thread i has not entered any function or has exited
from all functions */
SnapVector<func_id_list_t> * thrd_func_list = model->get_execution()->get_thrd_func_list();
/* return if thread i has not entered any function or has exited
from all functions */
SnapVector<func_id_list_t> * thrd_func_list = model->get_execution()->get_thrd_func_list();