Ignore when a proxied block points to erased mem.
Happens for example when a new module is loaded, sometimes.
This commit is contained in:
parent
c3a6092e26
commit
95dcadb6ae
1 changed files with 4 additions and 1 deletions
|
@ -447,7 +447,10 @@ void JitBlockCache::DestroyBlock(int block_num, bool invalidate) {
|
|||
if (b->proxyFor) {
|
||||
for (size_t i = 0; i < b->proxyFor->size(); i++) {
|
||||
int proxied_blocknum = GetBlockNumberFromStartAddress((*b->proxyFor)[i], false);
|
||||
DestroyBlock(proxied_blocknum, invalidate);
|
||||
// If it was already cleared, we don't know which to destroy.
|
||||
if (proxied_blocknum != -1) {
|
||||
DestroyBlock(proxied_blocknum, invalidate);
|
||||
}
|
||||
}
|
||||
b->proxyFor->clear();
|
||||
delete b->proxyFor;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue