Maxime Chevalier-Boisvert
11599e5e1e
Add rb_darray_clear() for Kevin. Fix some warnings.
2021-10-20 18:19:40 -04:00
Maxime Chevalier-Boisvert
0cc73ca2a9
Malloc branch entries ( #112 )
...
* Malloc branch entries
* Add ASM comment for stack overflow check
* WIP
* Fix branch GC code. Add rb_darray_remove_unordered().
* Fix block end_pos after branch rewriting. Remove dst_patched bits.
2021-10-20 18:19:33 -04:00
Maxime Chevalier-Boisvert
fe3bd57007
Remove trailing whitespaces
2021-10-20 18:19:31 -04:00
Alan Wu
7de8ce4efc
YJIT: Use 2D array to group block versions
...
For deferred compilation, we sometimes want to care about the order of
the block versions. Use an array instead of a linked list to do that.
2021-10-20 18:19:31 -04:00
Alan Wu
9ce2771697
darray: fix strict aliasing issue
2021-10-20 18:19:30 -04:00
Alan Wu
2240932b64
Add rb_darray_make
2021-10-20 18:19:30 -04:00
Alan Wu
47e05fca10
darray: fix buffer size calculation for element with strict alignment
2021-10-20 18:19:30 -04:00
Alan Wu
c02517bacb
Tie lifetime of uJIT blocks to iseqs
...
* Tie lifetime of uJIT blocks to iseqs
Blocks weren't being freed when iseqs are collected.
* Add rb_dary. Use it for method dependency table
* Keep track of blocks per iseq
Remove global version_tbl
* Block version bookkeeping fix
* dary -> darray
* free ujit_blocks
* comment about size of ujit_blocks
2021-10-20 18:19:29 -04:00