Do not push frame pointer on Darwin/arm and Darwin/arm64
authorJonathan Chambers <joncham@gmail.com>
Fri, 2 Feb 2018 17:29:20 +0000 (20:29 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Fri, 2 Feb 2018 17:29:20 +0000 (20:29 +0300)
commit6f12c87d903b58384ab9075020a548d7d05250fc
tree81ac769c47a58faaa168d921f3a97fc04d658fc4
parent02954567894bc270ffe7cb075448b56a706c9381
Do not push frame pointer on Darwin/arm and Darwin/arm64
(part of commit 9379c66 from Unity-Technologies/bdwgc)

Issue #173 (bdwgc).

* darwin_stop_world.c [!DARWIN_DONT_PARSE_STACK && ARM32]
(GC_stack_range_for): Pass r[7] (instead of sp register) to
GC_FindTopOfStack().
* darwin_stop_world.c [ARM32] (GC_stack_range_for): Do not push r[7]
register (as it holds frame pointer on iOS); add comment.
* darwin_stop_world.c [!DARWIN_DONT_PARSE_STACK && AARCH64]
(GC_stack_range_for): Pass fp (instead of sp) register to
GC_FindTopOfStack().
* darwin_stop_world.c [AARCH64] (GC_stack_range_for): Do not push fp
register.
darwin_stop_world.c