func_inst = new FuncInst(act, this);
inst->get_collisions()->push_back(func_inst);
- inst_list.push_back(func_inst); // delete?
+ inst_list.push_back(func_inst); // delete?
return func_inst;
}
/* Store the memory locations where atomic reads happen */
bool push_loc = true;
ModelList<void *>::iterator it;
- for (it = read_locations.begin(); it != read_locations.end(); it++) {
+ for (it = read_locations.begin();it != read_locations.end();it++) {
if (location == *it) {
push_loc = false;
break;
*/
void FuncNode::clear_read_map(uint32_t tid)
{
- ASSERT(thrd_read_map.size() > tid);
+ if (thrd_read_map.size() <= tid)
+ return;
+
thrd_read_map[tid]->reset();
}
read_map_t * read_map = thrd_read_map[tid];
ModelList<void *>::iterator it;
- for (it = read_locations.begin(); it != read_locations.end(); it++) {
+ for (it = read_locations.begin();it != read_locations.end();it++) {
if ( !read_map->contains(*it) )
break;