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

Update ARM8 export for EVAL #998

Open
tanyongkiam opened this issue Jun 3, 2024 · 2 comments
Open

Update ARM8 export for EVAL #998

tanyongkiam opened this issue Jun 3, 2024 · 2 comments

Comments

@tanyongkiam
Copy link
Contributor

It should be possible to run eval on ARMv8 on non-Mac machines at least.

@talsewell
Copy link
Contributor

Does anyone remember what was the issue here?

EVAL requires a safe way to write code then execute it. At the moment that's done by setting the EVAL code buffer read-write-execute (which Linux permits, Mac forbids, etc). It hypothetically also requires a flush operation that synchronizes hardware state after writing the code and before executing any of it. If I remember right, the hook point for this might not exist, which doesn't matter on x64 since the sync operation is a no-op anyway.

@oskarabrahamsson
Copy link
Contributor

You will have to switch between write and exec after you write new code, but I don’t remember the details. But this should explain it: https://developer.apple.com/documentation/apple-silicon/porting-just-in-time-compilers-to-apple-silicon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants