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 testing of ocaml-jit backends #119

Open
progman1 opened this issue Jan 24, 2023 · 0 comments
Open

Support for testing of ocaml-jit backends #119

progman1 opened this issue Jan 24, 2023 · 0 comments

Comments

@progman1
Copy link

progman1 commented Jan 24, 2023

Hello. I've developed an ARMv7 backend for the ocaml-jit project (which now appears to be under the Tarides umbrella, formerly Nathan Rebours).
The key ingredient of ocaml-jit is the provision of an assembler. I have turned this
to providing ocaml with a jit compilation target, an .exe and assembled object file,
with the .exe invoking a jitlinker to compose and run the assemblies.
The largest test case I have for this is the ocaml compiler itself which while substantial
by no means exercises the full range of an assembler. eg. floating point ops.
I would like to use the sandmark service to expose the various backend assemblers to a larger body of code. This of course is largely tangential to the purpose of the service -
performance degradation due to linking compromises is of interest but the main goal would be gathering instances of failure and working towards correctness.
So as a first step I'm asking whether Tarides will support this in principle.

To flesh out the requirement:

  1. Only looking to run against sequential benchmarks.
  2. The non-x86-64/i386 assemblers (currently only ARMv7 but I will be working on Aarch64 in time and more will likely follow from others) require emulation on the service computers. I have cross-compilation working for the ARMv7 (and likely any other architecture) which would then entail running the jitlinker under QEMU. These two things need some extra packages installed in the OS which doubtless it doesn't have.
  3. Logs of sandmark software compilation and its running, for bug hunting.
  4. Some technical assistance: I anticipate the compiler branch I provide to both install the compiler and the ocaml-jit package, but the latter requires a dune binary be shipped within the branch. Hopefully a better way can be found.

I hope this is of some interest.

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

1 participant