From 05c7353ddeb52079d393b19a58275db257918d16 Mon Sep 17 00:00:00 2001 From: Aleksey Kliger Date: Wed, 16 Nov 2016 16:44:56 -0500 Subject: [PATCH] [coop] Fix mono_stack_mark_pop We need to restore the old size into the old top chunk, not the current top chunk. --- mono/metadata/handle.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mono/metadata/handle.h b/mono/metadata/handle.h index 9cf5f49655e..25ce103a09c 100644 --- a/mono/metadata/handle.h +++ b/mono/metadata/handle.h @@ -91,9 +91,10 @@ static inline void mono_stack_mark_pop (MonoThreadInfo *info, HandleStackMark *stackmark) { HandleStack *handles = (HandleStack *)info->handle_stack; - handles->top->size = stackmark->size; + HandleChunk *old_top = stackmark->chunk; + old_top->size = stackmark->size; mono_memory_write_barrier (); - handles->top = stackmark->chunk; + handles->top = old_top; } /* -- 2.25.1