- removed assert that got triggered in an edge case that must pass here.

This commit is contained in:
Christoph Oelckers 2018-12-02 23:35:18 +01:00
parent d222e82bbc
commit 099b278f18

View file

@ -489,7 +489,9 @@ void VMFunctionBuilder::RegAvailability::Return(int reg, int count)
mask <<= firstbit; mask <<= firstbit;
// If we are trying to return registers that are already free, // If we are trying to return registers that are already free,
// it probably means that the caller messed up somewhere. // it probably means that the caller messed up somewhere.
assert((Used[firstword] & mask) == mask); // Unfortunately this can happen if an 'action' function gets called from a non-action context,
// because for that case it pushes the self pointer a second time without reallocating, so it gets freed twice.
//assert((Used[firstword] & mask) == mask);
Used[firstword] &= ~mask; Used[firstword] &= ~mask;
} }
else else