projects
/
mono.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2a3afe6
)
[sgen] Major allocation should not happen while we sweep
author
Vlad Brezae
<brezaevlad@gmail.com>
Wed, 26 Aug 2015 20:47:14 +0000
(13:47 -0700)
committer
Vlad Brezae
<brezaevlad@gmail.com>
Sat, 29 Aug 2015 01:00:17 +0000
(18:00 -0700)
mono/sgen/sgen-marksweep.c
patch
|
blob
|
history
diff --git
a/mono/sgen/sgen-marksweep.c
b/mono/sgen/sgen-marksweep.c
index fe3ab1a1742b5bc311b41e7cb65aca8a7d3ad471..96444b1dc60d066f17aaf60924ba950538269c7a 100644
(file)
--- a/
mono/sgen/sgen-marksweep.c
+++ b/
mono/sgen/sgen-marksweep.c
@@
-739,7
+739,11
@@
free_pinned_object (GCObject *obj, size_t size)
static GCObject*
major_alloc_degraded (GCVTable vtable, size_t size)
{
- GCObject *obj = alloc_obj (vtable, size, FALSE, SGEN_VTABLE_HAS_REFERENCES (vtable));
+ GCObject *obj;
+
+ major_finish_sweep_checking ();
+
+ obj = alloc_obj (vtable, size, FALSE, SGEN_VTABLE_HAS_REFERENCES (vtable));
if (G_LIKELY (obj)) {
HEAVY_STAT (++stat_objects_alloced_degraded);
HEAVY_STAT (stat_bytes_alloced_degraded += size);