summaryrefslogtreecommitdiff
path: root/darray.h
Commit message (Collapse)AuthorAgeFilesLines
* Change feature_index from fake Array to darrayPeter Zhu2022-02-161-0/+2
| | | | | | | | Using a fake (malloc) RArray is not friendly for the garbage collector. Fake RArray does not have a heap page, so it causes Variable Width Allocation to crash when we try to implement it on Arrays. This commit changes feature_index from a RArray to a darray.
* Change darray size to size_t and add functions that use GC mallocPeter Zhu2022-02-161-51/+77
| | | | | | | Changes size and capacity of darray to size_t to support more elements. Adds functions to darray that use GC allocation functions.
* Add rb_darray_clear() for Kevin. Fix some warnings.Maxime Chevalier-Boisvert2021-10-201-0/+5
|
* Malloc branch entries (#112)Maxime Chevalier-Boisvert2021-10-201-0/+10
| | | | | | | | | | | * 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.
* Remove trailing whitespacesMaxime Chevalier-Boisvert2021-10-201-1/+1
|
* YJIT: Use 2D array to group block versionsAlan Wu2021-10-201-0/+5
| | | | | 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.
* darray: fix strict aliasing issueAlan Wu2021-10-201-2/+6
|
* Add rb_darray_makeAlan Wu2021-10-201-6/+35
|
* darray: fix buffer size calculation for element with strict alignmentAlan Wu2021-10-201-19/+23
|
* Tie lifetime of uJIT blocks to iseqsAlan Wu2021-10-201-0/+141
* 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