[sgen] Always alloc degraded when nursery allocation fails.
authorMark Probst <mark.probst@gmail.com>
Fri, 14 Nov 2014 23:13:54 +0000 (15:13 -0800)
committerMark Probst <mark.probst@gmail.com>
Wed, 10 Dec 2014 01:31:25 +0000 (17:31 -0800)
commit4e58de23d2d6bf6c2d6a3d8cf74330188d6465cf
tree4926841056cede078196c5dcaf75fd5c55b88251
parentbcc31684e45974f3143d6632834e94808d06dadd
[sgen] Always alloc degraded when nursery allocation fails.

There's an unlikely case that Roslyn triggers quite often on Linux: A
thread tries to allocate from the nursery, but it's full.  It triggers
a nursery collection, then tries allocating again.  Between the
collection and the allocation retry, another thread fills the nursery
so that the retry also fails.

We failed an assertion in this case.  Now we always go to the major
heap if it happens.
mono/metadata/sgen-alloc.c