Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Android and iOS #22

Open
susices opened this issue Sep 26, 2023 · 1 comment
Open

Support for Android and iOS #22

susices opened this issue Sep 26, 2023 · 1 comment
Labels
proposal An issue that represents a proposed feature or change to the repo. untriaged An issue that has not been triaged by the repo maintainers.

Comments

@susices
Copy link

susices commented Sep 26, 2023

I'm interested in using this library in my project, but I noticed that currently it only supports win/mac/linux. I found that original mimalloc library now supports IOS according to their github issues. Is it possible to support Android and IOS platform for this library?

@susices susices added proposal An issue that represents a proposed feature or change to the repo. untriaged An issue that has not been triaged by the repo maintainers. labels Sep 26, 2023
@tannergooding
Copy link
Member

The support should already exist, but it's not been validated as I have no way to test mobile devices in CI.

For v2.1.2 (the latest mimalloc) their OS abstraction layer is here: https://github.com/microsoft/mimalloc/tree/v2.1.2/src/prim and you'll note that they only have osx, unix, wasi, and windows. With osx deferring to unix and with unix representing both linux, mac, ios, android, bsd, etc.

For v1.6.7 (what has been ported so far) the OS abstraction layer is here: https://github.com/microsoft/mimalloc/blob/v1.6.7/src/os.c and you'll note that it also has essentially all the same target platforms supported.

In both cases, the unix support eventually defers down to mmap and so the general functionality should already light up anywhere mmap is supported. -- NOTE: That there might need to be some platform specific hookups enabled to ensure mmap is resolved to the correct native library, but I would expect that to be the only thing that might not work and in general is already setup for the typical expectations (msvcrt on Windows, libSystem on MacOS which should include iOS, and libc elsewhere)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposal An issue that represents a proposed feature or change to the repo. untriaged An issue that has not been triaged by the repo maintainers.
Projects
None yet
Development

No branches or pull requests

2 participants