Skip to content

Commit 6408fec

Browse files
Make dereference non-virtual
dereference is not overridden, we add final to value_set_dereferencet to be sure of that. Calls to virtual functions are slow, and in general it is better to avoid virtual recursive functions (like derefence was).
1 parent 5e69625 commit 6408fec

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/pointer-analysis/value_set_dereference.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class optionst;
2424
class symbolt;
2525

2626
/// Wrapper for a function dereferencing pointer expressions using a value set.
27-
class value_set_dereferencet
27+
class value_set_dereferencet final
2828
{
2929
public:
3030
/// \param _ns: Namespace
@@ -55,7 +55,7 @@ class value_set_dereferencet
5555
/// \param pointer: A pointer-typed expression, to
5656
/// be dereferenced.
5757
/// \param guard: A guard, which is assumed to hold when dereferencing.
58-
virtual exprt dereference(const exprt &pointer, const guardt &guard);
58+
exprt dereference(const exprt &pointer, const guardt &guard);
5959

6060
private:
6161
const namespacet &ns;

0 commit comments

Comments
 (0)