@@ -1168,7 +1168,7 @@ def __init__(self, array: Array, index: BitVec, value: BitVec, **kwargs):
1168
1168
assert index .size == array .index_size
1169
1169
assert value .size == array .value_size
1170
1170
self ._written : Optional [Set [Any ]] = None # Cache of the known indexes
1171
- self ._concrete_cache : Dict [Any , Any ] = dict ()
1171
+ self ._concrete_cache : Dict [Any , Any ] = None
1172
1172
self ._length = array .length
1173
1173
self ._default = array .default
1174
1174
@@ -1184,11 +1184,13 @@ def __init__(self, array: Array, index: BitVec, value: BitVec, **kwargs):
1184
1184
1185
1185
@property
1186
1186
def concrete_cache (self ):
1187
- for index , value in get_items (self ):
1188
- if not isinstance (index , Constant ):
1189
- break
1190
- if index .value not in self ._concrete_cache :
1191
- self ._concrete_cache [index .value ] = value
1187
+ if self ._concrete_cache is None :
1188
+ self ._concrete_cache = {}
1189
+ for index , value in get_items (self ):
1190
+ if not isinstance (index , Constant ):
1191
+ break
1192
+ if index .value not in self ._concrete_cache :
1193
+ self ._concrete_cache [index .value ] = value
1192
1194
return self ._concrete_cache
1193
1195
1194
1196
@property
0 commit comments