Different PRE_GC and POST_GC attempt, floating 0 bug is present again

This commit is contained in:
Egor Sheremetov 2023-08-14 09:40:56 +02:00
parent 8c02877974
commit c61159cfc6

View file

@ -37,6 +37,12 @@ void __post_gc_subst () { }
assert(__gc_stack_top != 0); \
assert(__builtin_frame_address(0) <= (void *)__gc_stack_top);
//#define PRE_GC() \
// bool flag = true; \
// if (__gc_stack_top == 0) { flag = false; } \
// if (!flag) __gc_stack_top = (size_t)__builtin_frame_address(0); \
// assert(__builtin_frame_address(0) <= (void *)__gc_stack_top);
#define POST_GC() \
assert(__builtin_frame_address(0) <= (void *)__gc_stack_top); \
__post_gc(); \
@ -46,6 +52,9 @@ void __post_gc_subst () { }
assert(false); \
}
//#define POST_GC() \
// if (!flag) { __gc_stack_top = 0; }
extern size_t __gc_stack_top, __gc_stack_bottom;
static void vfailure (char *s, va_list args) {