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

Add Const<T> type, value bounds, host-controlled compilation, etc #35

Open
SoniEx2 opened this issue Jan 19, 2020 · 0 comments
Open

Add Const<T> type, value bounds, host-controlled compilation, etc #35

SoniEx2 opened this issue Jan 19, 2020 · 0 comments

Comments

@SoniEx2
Copy link

SoniEx2 commented Jan 19, 2020

The Const<T> type would necessarily compile to a const, an immediate operand, or something of the sort. Additionally it could have extra bounds on it to make some optimizations possible, altho I'm not sure how those would be done in practice.

It would, for the most part, only exist at compile-time (as in, host/rust compile-time, not JIT compile-time).

And also the host code would specify when things get compiled, rather than doing it whenever the library wants to.

The basic idea is to do the most work of optimizing and stuff at Rust compile-time so that very little work needs to be done at runtime. That is, zero-cost abstractions for your JIT compiler. JITs should be performant and tuneable, and HolyJIT might well be performant (altho I doubt it compares to e.g. V8), but it doesn't look very tuneable as it currently stands. I do not believe the library should handle all the details of the JIT but rather it should be a glorified self-modifying code library (just, without being able to modify yourself while you're running. it should make copies ofc).

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