Skip to content

Commit 30dd790

Browse files
committed
Turn local_names into a pointer
1 parent 9af5219 commit 30dd790

File tree

5 files changed

+26
-26
lines changed

5 files changed

+26
-26
lines changed

src/goto-symex/auto_objects.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ void goto_symext::trigger_auto_object(
9595
if(has_prefix(id2string(symbol.base_name), "auto_object"))
9696
{
9797
// done already?
98-
if(state.level2.current_names.find(ssa_expr.get_identifier())==
99-
state.level2.current_names.end())
98+
if(state.level2.current_names->find(ssa_expr.get_identifier())==
99+
state.level2.current_names->end())
100100
{
101101
initialize_auto_object(expr, state);
102102
}

src/goto-symex/renaming_level.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ void symex_level1t::operator()(ssa_exprt &ssa_expr)
5050

5151
const irep_idt l0_name = ssa_expr.get_l1_object_identifier();
5252

53-
const auto it = current_names.find(l0_name);
54-
if(it == current_names.end())
53+
const auto it = current_names->find(l0_name);
54+
if(it == current_names->end())
5555
return;
5656

5757
// rename!
@@ -61,14 +61,14 @@ void symex_level1t::operator()(ssa_exprt &ssa_expr)
6161
void symex_level1t::restore_from(
6262
const symex_renaming_levelt::current_namest &other)
6363
{
64-
auto it = current_names.begin();
64+
auto it = current_names->begin();
6565
for(const auto &pair : other)
6666
{
67-
while(it != current_names.end() && it->first < pair.first)
67+
while(it != current_names->end() && it->first < pair.first)
6868
++it;
69-
if(it == current_names.end() || pair.first < it->first)
70-
current_names.insert(it, pair);
71-
else if(it != current_names.end())
69+
if(it == current_names->end() || pair.first < it->first)
70+
current_names->insert(it, pair);
71+
else if(it != current_names->end())
7272
{
7373
PRECONDITION(it->first == pair.first);
7474
it->second = pair.second;

src/goto-symex/renaming_level.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ struct symex_renaming_levelt
3030

3131
/// Map identifier to ssa_exprt and counter
3232
typedef std::map<irep_idt, std::pair<ssa_exprt, unsigned>> current_namest;
33-
current_namest current_names;
33+
current_namest *current_names = new current_namest;
3434

3535
/// Counter corresponding to an identifier
3636
virtual unsigned current_count(const irep_idt &identifier) const
3737
{
38-
const auto it = current_names.find(identifier);
39-
return it == current_names.end() ? 0 : it->second.second;
38+
const auto it = current_names->find(identifier);
39+
return it == current_names->end() ? 0 : it->second.second;
4040
}
4141

4242
/// Increase the counter corresponding to an identifier
@@ -48,7 +48,7 @@ struct symex_renaming_levelt
4848
/// Add the \c ssa_exprt of current_names to vars
4949
void get_variables(std::unordered_set<ssa_exprt, irep_hash> &vars) const
5050
{
51-
for(const auto &pair : current_names)
51+
for(const auto &pair : *current_names)
5252
vars.insert(pair.second.first);
5353
}
5454
};
@@ -93,7 +93,7 @@ struct symex_level2t : public symex_renaming_levelt
9393

9494
void erase(const irep_idt &identifier)
9595
{
96-
current_names.erase(identifier);
96+
current_names->erase(identifier);
9797
if (local_generations)
9898
local_generations->erase(identifier);
9999
}
@@ -117,7 +117,7 @@ struct symex_level2t : public symex_renaming_levelt
117117
const irep_idt l1_identifier,
118118
const ssa_exprt &lhs)
119119
{
120-
current_names.emplace(l1_identifier, std::make_pair(lhs, 0));
120+
current_names->emplace(l1_identifier, std::make_pair(lhs, 0));
121121
increase_generation(l1_identifier);
122122
}
123123

@@ -126,8 +126,8 @@ struct symex_level2t : public symex_renaming_levelt
126126
void increase_generation(
127127
const irep_idt l1_identifier)
128128
{
129-
auto current_names_iter = current_names.find(l1_identifier);
130-
if (current_names_iter == current_names.end())
129+
auto current_names_iter = current_names->find(l1_identifier);
130+
if (current_names_iter == current_names->end())
131131
return;
132132

133133
current_names_iter->second.second++;
@@ -141,7 +141,7 @@ struct symex_level2t : public symex_renaming_levelt
141141

142142
current_namest get_current_names()
143143
{
144-
return local_generations ? *local_generations : current_names;
144+
return local_generations ? *local_generations : *current_names;
145145
}
146146

147147
void print_differences()

src/goto-symex/symex_function_call.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -346,8 +346,8 @@ static void pop_frame(goto_symext::statet &state)
346346
state.level1.restore_from(frame.old_level1);
347347

348348
// clear function-locals from L2 renaming
349-
for(auto c_it = state.level2.current_names.begin();
350-
c_it != state.level2.current_names.end();) // no ++c_it
349+
for(auto c_it = state.level2.current_names->begin();
350+
c_it != state.level2.current_names->end();) // no ++c_it
351351
{
352352
const irep_idt l1_o_id=c_it->second.first.get_l1_object_identifier();
353353
// could use iteration over local_objects as l1_o_id is prefix
@@ -409,17 +409,17 @@ static void locality(
409409
const irep_idt l0_name=ssa.get_identifier();
410410

411411
// save old L1 name for popping the frame
412-
auto c_it = state.level1.current_names.find(l0_name);
412+
auto c_it = state.level1.current_names->find(l0_name);
413413

414-
if(c_it != state.level1.current_names.end())
414+
if(c_it != state.level1.current_names->end())
415415
{
416416
frame.old_level1.emplace(l0_name, c_it->second);
417417
c_it->second = std::make_pair(ssa, frame_nr);
418418
}
419419
else
420420
{
421421
c_it = state.level1.current_names
422-
.emplace(l0_name, std::make_pair(ssa, frame_nr))
422+
->emplace(l0_name, std::make_pair(ssa, frame_nr))
423423
.first;
424424
}
425425

src/goto-symex/symex_start_thread.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ void goto_symext::symex_start_thread(statet &state)
5252
// create a copy of the local variables for the new thread
5353
framet &frame = state.top();
5454

55-
for(auto c_it = state.level2.current_names.begin();
56-
c_it != state.level2.current_names.end();
55+
for(auto c_it = state.level2.current_names->begin();
56+
c_it != state.level2.current_names->end();
5757
++c_it)
5858
{
5959
const irep_idt l1_o_id=c_it->second.first.get_l1_object_identifier();
@@ -68,7 +68,7 @@ void goto_symext::symex_start_thread(statet &state)
6868
lhs.set_level_0(t);
6969

7070
// set up L1 name
71-
if(!state.level1.current_names.insert(
71+
if(!state.level1.current_names->insert(
7272
std::make_pair(lhs.get_l1_object_identifier(),
7373
std::make_pair(lhs, 0))).second)
7474
UNREACHABLE;

0 commit comments

Comments
 (0)