@@ -169,10 +169,11 @@ func (s *StateObject) getTrie(db Database) Trie {
169
169
if s .trie == nil {
170
170
// Try fetching from prefetcher first
171
171
// We don't prefetch empty tries
172
- if s .data .Root != emptyRoot && s .db .prefetcher != nil {
172
+ prefetcher := s .db .prefetcher
173
+ if s .data .Root != emptyRoot && prefetcher != nil {
173
174
// When the miner is creating the pending state, there is no
174
175
// prefetcher
175
- s .trie = s . db . prefetcher .trie (s .data .Root )
176
+ s .trie = prefetcher .trie (s .data .Root )
176
177
}
177
178
if s .trie == nil {
178
179
var err error
@@ -375,8 +376,9 @@ func (s *StateObject) finalise(prefetch bool) {
375
376
}
376
377
}
377
378
378
- if s .db .prefetcher != nil && prefetch && len (slotsToPrefetch ) > 0 && s .data .Root != emptyRoot && s .data .Root != dummyRoot {
379
- s .db .prefetcher .prefetch (s .data .Root , slotsToPrefetch , s .addrHash )
379
+ prefetcher := s .db .prefetcher
380
+ if prefetcher != nil && prefetch && len (slotsToPrefetch ) > 0 && s .data .Root != emptyRoot && s .data .Root != dummyRoot {
381
+ prefetcher .prefetch (s .data .Root , slotsToPrefetch , s .addrHash )
380
382
}
381
383
if len (s .dirtyStorage ) > 0 {
382
384
s .dirtyStorage = make (Storage )
@@ -450,9 +452,11 @@ func (s *StateObject) updateTrie(db Database) Trie {
450
452
}
451
453
wg .Wait ()
452
454
453
- if s .db .prefetcher != nil {
454
- s .db .prefetcher .used (s .data .Root , usedStorage )
455
+ prefetcher := s .db .prefetcher
456
+ if prefetcher != nil {
457
+ prefetcher .used (s .data .Root , usedStorage )
455
458
}
459
+
456
460
if len (s .pendingStorage ) > 0 {
457
461
s .pendingStorage = make (Storage )
458
462
}
0 commit comments