From: Ivan Maidanski Date: Fri, 2 Feb 2018 17:37:30 +0000 (+0300) Subject: Do not push 'cpsr' register on Darwin/arm X-Git-Tag: v8.0.0~376 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e82235769795e9501f08b64e763b7ac3b3164a7e;p=platform%2Fupstream%2Flibgc.git Do not push 'cpsr' register on Darwin/arm ARM cpsr stands for Control Program State Register. It cannot contain a pointer. * darwin_stop_world.c [ARM32] (GC_stack_range_for): Ignore cpsr register; update comment. --- diff --git a/darwin_stop_world.c b/darwin_stop_world.c index 1eab1f1..3a8441e 100644 --- a/darwin_stop_world.c +++ b/darwin_stop_world.c @@ -292,9 +292,8 @@ STATIC ptr_t GC_stack_range_for(ptr_t *phi, thread_act_t thread, GC_thread p, for (; j <= 12; j++) GC_push_one(state.THREAD_FLD(r[j])); } - /* "pc" and "sp" are skipped */ + /* "cpsr", "pc" and "sp" are skipped */ GC_push_one(state.THREAD_FLD(lr)); - GC_push_one(state.THREAD_FLD(cpsr)); # elif defined(AARCH64) lo = (void *)state.THREAD_FLD(sp);