Maxime Chevalier-Boisvert
0385ca2e97
Try to break the code page refactoring into smaller steps
2021-10-20 18:19:41 -04:00
Jean Boussier
217f7cb16f
Include errno message in mmap failure output
...
It might help figure out why it is failing.
2021-10-20 18:19:40 -04:00
Maxime Chevalier-Boisvert
350b686a2c
First pass at code page GC object.
2021-10-20 18:19:37 -04:00
Maxime Chevalier-Boisvert
51c84f0033
Code page allocation code
2021-10-20 18:19:37 -04:00
Maxime Chevalier-Boisvert
6b5d26dc78
Implement basic encodings for xchg
2021-10-20 18:19:35 -04:00
Maxime Chevalier-Boisvert
5c2f74fc32
Fix encoding of test x86 instruction
2021-10-20 18:19:35 -04:00
Maxime Chevalier-Boisvert
cf2b508375
Try to alloc executable memory within rel32 range on Linux machines ( #12 )
...
* Use INT32_MIN, INT32_MAX, etc. constants in yjit_asm.c
* Print warning on stderr when code past rel32 jump range
* Fix preprocessor snafu
* Move rel32 warning into --yjit-stats
* Try to allocate within rel32 offset on Linux machines
* Update yjit_asm.c
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
* On Linux, use sysconf to get the page size
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
2021-10-20 18:19:34 -04:00
Maxime Chevalier-Boisvert
d1e9e4566f
Update yjit_asm.c
2021-10-20 18:19:32 -04:00
Maxime Chevalier-Boisvert
3d53ee1761
Fill uninitialized memory with int3
2021-10-20 18:19:32 -04:00
Alan Wu
d03b7f77d4
Fix GCC warnings
...
Mostly unused and uninitialized warnings here and there
2021-10-20 18:19:32 -04:00
Dylan Thacker-Smith
4b80358e5d
Fix condition in cb_align_pos which should return early when aligned
2021-10-20 18:19:32 -04:00
Jose Narvaez
4e2eb7695e
Yet Another Ruby JIT!
...
Renaming uJIT to YJIT. AKA s/ujit/yjit/g.
2021-10-20 18:19:31 -04:00