mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
more
This commit is contained in:
parent
93557ab8fe
commit
d7ba47e08a
1 changed files with 7 additions and 1 deletions
|
|
@ -918,6 +918,13 @@ func (s *StateDB) IntermediateRoot(deleteEmptyObjects bool) common.Hash {
|
||||||
// Finalise all the dirty storage states and write them into the tries
|
// Finalise all the dirty storage states and write them into the tries
|
||||||
s.Finalise(deleteEmptyObjects)
|
s.Finalise(deleteEmptyObjects)
|
||||||
|
|
||||||
|
// If there was a trie prefetcher operating, it gets aborted and irrevocably
|
||||||
|
// modified after we start retrieving tries. Remove it from the statedb after
|
||||||
|
// this round of use.
|
||||||
|
//
|
||||||
|
// This is weird pre-byzantium since the first tx runs with a prefetcher and
|
||||||
|
// the remainder without, but pre-byzantium even the initial prefetcher is
|
||||||
|
// useless, so no sleep lost.
|
||||||
prefetcher := s.prefetcher
|
prefetcher := s.prefetcher
|
||||||
if s.prefetcher != nil {
|
if s.prefetcher != nil {
|
||||||
defer func() {
|
defer func() {
|
||||||
|
|
@ -939,7 +946,6 @@ func (s *StateDB) IntermediateRoot(deleteEmptyObjects bool) common.Hash {
|
||||||
obj.updateRoot()
|
obj.updateRoot()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now we're about to start to write changes to the trie. The trie is so far
|
// Now we're about to start to write changes to the trie. The trie is so far
|
||||||
// _untouched_. We can check with the prefetcher, if it can give us a trie
|
// _untouched_. We can check with the prefetcher, if it can give us a trie
|
||||||
// which has the same root, but also has some content loaded into it.
|
// which has the same root, but also has some content loaded into it.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue