Closed yowl closed 4 years ago
Just creating a lot of RhpNewArrayAlign8
is enough to break it.
var mr = new MiniRandom(57);
var keptObjects = new object[100];
for (var i = 0; i < 1000000; i++)
{
var r = mr.Next();
object o;
o = new long[10000];
keptObjects[r % 100] = o;
}
Looks like I've passed the wrong size to RhpGcAlloc
and RhpPublishObject
, hopefully an easy fix
While the linked PR fixes the above case, this still happens when trying larger projects, e.g. starting a Uno Platform HelloWorld app
Wasm can cause the assert
assert (Align (size (o)) >= Align (min_obj_size));
infind_first_object
ingc.cpp
. When this happenssize(o) == 0
and execution goes through the logic for searching the previous bricks. Also a clue perhaps is thato & 2 == 2