Comments (8)
I'd also take the other smartness task, if/after the auto alignment goes in. I'm not sure how long it will take me, as I hadn't look at it (and I'm also studying Fisk in parallel).
Before starting this, I'm going to spend a bit of time to try to think about how to add some form of testing to call_cfunc
. Right now for example, on my system, aligning or not doesn't make any difference (I presume due to the fact that FP registers are not used), and there is some risk that subtle issues may be inadvertly present/added.
from tenderjit.
Also now that I'm thinking about it, if we only ever use the "rt.push_reg" / "rt.pop_reg" for managing registers, then the runtime object should also know the stack alignment and be able to automatically figure out how much we need to push.
from tenderjit.
Also now that I'm thinking about it, if we only ever use the "rt.push_reg" / "rt.pop_reg" for managing registers, then the runtime object should also know the stack alignment and be able to automatically figure out how much we need to push.
I'd like to take this one, if it's ok. It's actually something I've previously thought as a mean to simplify the call_cfunc
UX.
from tenderjit.
@64kramsystem it's all yours!
from tenderjit.
I think it'd be a good idea to use dependency versions (e.g. tags) in the Gemfile, to ensure versioning consistency; it's not strictly needed, but I think that long-term, it may save minor headaches.
from tenderjit.
I'd also take the other smartness task, if/after the auto alignment goes in. I'm not sure how long it will take me, as I hadn't look at it (and I'm also studying Fisk in parallel).
from tenderjit.
I think it'd be a good idea to use dependency versions (e.g. tags) in the Gemfile, to ensure versioning consistency; it's not strictly needed, but I think that long-term, it may save minor headaches.
Makes sense, I think that would be fine.
I'd also take the other smartness task, if/after the auto alignment goes in. I'm not sure how long it will take me, as I hadn't look at it (and I'm also studying Fisk in parallel).
👍🏻
from tenderjit.
Makes sense. AFAIK the 16 byte alignment only matters on macOS (but I could be totally wrong). I'm not sure how we can test, but it would be great to have a test.
from tenderjit.
Related Issues (20)
- Getting "cannot load such file -- tenderjit/ruby/e6c9f/structs" HOT 2
- Make TenderJIT installable as a Gem
- misc/ruby_internals.rb:225:in `initialize': No such file or directory HOT 3
- Question: Is there any way to cleany generate bytecode? HOT 1
- String can't be coerced into Integer (TypeError) HOT 12
- bundle install fails since worf repository's default branch is main HOT 5
- missing Gemfile.lock HOT 2
- Fisk error when running the test suite, on a Clang-compiled Ruby HOT 4
- The Rakefile fingerprinting is not unique across different Ruby compiles HOT 5
- The default Rake task is not (anymore) implemented HOT 1
- Feature request: Allow passing the test filename/test name to the Rake task HOT 7
- The JIT may be generating no-op `mov`s HOT 10
- `tostring` instruction fails on complex examples HOT 8
- Temporary Stack allows negative values
- [Good first issue] Cover `adjuststack` instruction with tests
- [Good first issue] Cover `setlocal_WC_1` instruction with tests HOT 1
- Easy/ish missing instructions HOT 1
- Test suite occasionally fails, with a segfault at 0x0 HOT 26
- Undefined method 'header' for nil:NilClass HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tenderjit.