Discussion:
[Gc] iOS ARM64 (Aarch64) support
Niklas Therning
2014-12-22 07:41:58 UTC
Permalink
Hi,

We've made a first attempt [1] at porting the GC to iOS ARM64
(Aarch64) and so far it seems to be working fine. Wanted to check
whether someone else is working on this as well?

One initial problem we had was what we'd set STACKBOTTOM to. The value
for iOS 32-bit seemed totally arbitrary. But AFAICS, for Darwin, the
actual value for STACKBOTTOM is ignored and instead it's set to the
expression (ptr_t)pthread_get_stackaddr_np(pthread_self()) in
os_dep.c. Can someone please confirm that this is indeed what happens
for OS X/iOS?

Please let me know whether you'd be interested in merging this and
I'll send a PR.

[1] https://github.com/robovm/bdwgc/commit/a583a080fd9bd57927190dfa090ad281ddc931d5

Regards,
Niklas
RoboVM
Ivan Maidanski
2015-03-17 23:57:27 UTC
Permalink
Hi Niklas,

I have refactored your code, merged with recent master and added DARWIN_EXC_STATE definitions (for MPROTECT_VDB) -  https://github.com/ivmai/bdwgc/tree/ios-unified-ts-fix
Could you please recheck it on iOS/arm64?

STACKBOTTOM is redefined from to pthread_get_stackaddr_np (unless you define NO_PTHREAD_GET_STACKADDR_NP) - it should be always safer than use of hard-coded value (e.g. hard-coded value will not work for non-main thread).

Regards,
Ivan
Post by Niklas Therning
Hi,
We've made a first attempt [1] at porting the GC to iOS ARM64
(Aarch64) and so far it seems to be working fine. Wanted to check
whether someone else is working on this as well?
One initial problem we had was what we'd set STACKBOTTOM to. The value
for iOS 32-bit seemed totally arbitrary. But AFAICS, for Darwin, the
actual value for STACKBOTTOM is ignored and instead it's set to the
expression (ptr_t)pthread_get_stackaddr_np(pthread_self()) in
os_dep.c. Can someone please confirm that this is indeed what happens
for OS X/iOS?
Please let me know whether you'd be interested in merging this and
I'll send a PR.
[1] https://github.com/robovm/bdwgc/commit/a583a080fd9bd57927190dfa090ad281ddc931d5
Regards,
Niklas
RoboVM
_______________________________________________
bdwgc mailing list
https://lists.opendylan.org/mailman/listinfo/bdwgc
Loading...