diff options
author | Alan Wu <XrXr@users.noreply.github.com> | 2021-02-25 15:10:38 -0500 |
---|---|---|
committer | Alan Wu <XrXr@users.noreply.github.com> | 2021-10-20 18:19:30 -0400 |
commit | 57977ba30d35f6f9de3d2802d1894e1f0d23286d (patch) | |
tree | e7f5eba7e70cd10566572072e5938652d459a01f /ractor.c | |
parent | f93f3d6aa164ea5bc01e596c84b7c525c41bb852 (diff) |
uJIT: Implement opt_getinlinecache
* ujit: implement opt_getinlinecache
Aggressively bet that writes to constants don't happen and invalidate
all opt_getinlinecache blocks on any and all constant writes.
Use alignment padding on block_t to track this assumption. No change to
sizeof(block_t).
* Fix compile warnings when not RUBY_DEBUG
* Fix reversed condition
* Switch to st_table to keep track of assumptions
Co-authored-by: Aaron Patterson <aaron.patterson@gmail.com>
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
Diffstat (limited to 'ractor.c')
-rw-r--r-- | ractor.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -16,6 +16,7 @@ #include "variable.h" #include "gc.h" #include "transient_heap.h" +#include "ujit.h" VALUE rb_cRactor; @@ -1604,6 +1605,7 @@ ractor_create(rb_execution_context_t *ec, VALUE self, VALUE loc, VALUE name, VAL r->verbose = cr->verbose; r->debug = cr->debug; + rb_ujit_before_ractor_spawn(); rb_thread_create_ractor(r, args, block); RB_GC_GUARD(rv); |