| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-10-20 | Compile out declaration for runtime stats on non stats builds | Alan Wu | |
| Checked on default build, RUBY_DEBUG build, and YJIT_STATS build. | |||
| 2021-10-20 | Don't store cfp->pc when doing iseq calls | Alan Wu | |
| We set it before calling routines and when we are exiting. | |||
| 2021-10-20 | No need to do ec->cfp = reg_cfp on exits | Alan Wu | |
| It's already up to date. We set it when we do iseq calls and it's set properly on entry. If it's not set properly exceptions wouldn't work. | |||
| 2021-10-20 | Update suggested ./configure in README | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Fix warnings about redefining YJIT_STATS | Alan Wu | |
| Follow up for ecb5b383a0c17550b9b27663005049ddac871edb. Now that YJIT_STATS is defined in yjit.h, it shoudl be the only place that defines it. | |||
| 2021-10-20 | Add missing percent sign in printout | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Add tests against side exits for non-fixnum | John Hawthorn | |
| 2021-10-20 | Check for comptime fixnum in gen_fixnum_cmp | John Hawthorn | |
| 2021-10-20 | Check for comptime fixnums in opt_and and opt_or | John Hawthorn | |
| 2021-10-20 | Check for comptime integers in opt_plus and opt_minus | John Hawthorn | |
| 2021-10-20 | Move forward declaration up | John Hawthorn | |
| 2021-10-20 | Fix misplaced ivar_set_method exit counter | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Include errno message in mmap failure output | Jean Boussier | |
| It might help figure out why it is failing. | |||
| 2021-10-20 | Skip opt_case_dispatch | John Hawthorn | |
| 2021-10-20 | Add comments to getspecial | John Hawthorn | |
| 2021-10-20 | Add comments for new function | Aaron Patterson | |
| 2021-10-20 | only compile for T_OBJECT types | Aaron Patterson | |
| 2021-10-20 | Refactor attrset to use a function | Aaron Patterson | |
| This new function will do the write barrier / resize the object / check frozen for us | |||
| 2021-10-20 | Fix opt_eq for overridden equality | John Hawthorn | |
| 2021-10-20 | Revert "disable yjit when testing mjit" | Aaron Patterson | |
| This reverts commit e8622ce5c0a09c7213e4d536ddd0ef3ea68377ef. | |||
| 2021-10-20 | is this right? | Aaron Patterson | |
| 2021-10-20 | Don't check MJIT if it's not enabled | Aaron Patterson | |
| 2021-10-20 | Disable YJIT by default if MJIT_FORCE_ENABLE is on | Aaron Patterson | |
| Compile time flag seems pretty forceful, so let MJIT turn on by default if it is used. | |||
| 2021-10-20 | disable MJIT when --enable-all is set | Aaron Patterson | |
| 2021-10-20 | Implement getspecial | John Hawthorn | |
| 2021-10-20 | Fix avg_len_in_yjit | Alan Wu | |
| We weren't counting completing an entire method in YJIT as exits so the avg_len_in_yjit for ./miniruby --yjit-call-threshold=1 --yjit-stats -e'def foo; end; foo' was infinite. | |||
| 2021-10-20 | Deduplicate side exits | Alan Wu | |
| Send instructions currently generate the exact same side exit twice. Cache the exit the first time we generate it. Also add a comment explaining what side exits do. Closes GH-117. | |||
| 2021-10-20 | Info for Fedora and choosing C compiler | Benson Muite | |
| 2021-10-20 | Add rb_darray_clear() for Kevin. Fix some warnings. | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Add fixes for feedback | Aaron Patterson | |
| 2021-10-20 | Use C_ARG_REGS earlier | John Hawthorn | |
| 2021-10-20 | Add tests against opt_eq side exits | John Hawthorn | |
| 2021-10-20 | Remove rb_opt_equality_specialized | John Hawthorn | |
| 2021-10-20 | String and fixnum equality | John Hawthorn | |
| 2021-10-20 | Use method dispatch for opt_eq | John Hawthorn | |
| 2021-10-20 | Add jit_rb_obj_equal | John Hawthorn | |
| 2021-10-20 | Count interpreter instructions when -DYJIT_STATS=1 | Alan Wu | |
| The interpreter instruction count was enabled based on RUBY_DEBUG as opposed to YJIT_STATS. In builds with YJIT_STATS=1 but RUBY_DEBUG=0, the count was not available. Move YJIT_STATS in yjit.h where declarations are expoed to code outside of YJIT. Also reduce the changes made to the interpreter for calling into YJIT's instruction counting function. | |||
| 2021-10-20 | Update README.md | Maxime Chevalier-Boisvert | |
| 2021-10-20 | disable yjit when testing mjit | Aaron Patterson | |
| 2021-10-20 | Update ruby.c | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Exit if YJIT and MJIT are both enabled | Aaron Patterson | |
| YJIT and MJIT can't be running in the same process otherwise they'll clobber each other. We should show an error and exit if they're both enabled. | |||
| 2021-10-20 | Prevent stats being enabled late at run-time | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Exit when the object is frozen | Aaron Patterson | |
| Exit when the object is frozen, also add tests | |||
| 2021-10-20 | Add a write barrier to ivar set | Aaron Patterson | |
| We need to fire the write barrier during ivar set. This function extracts the write barrier function then calls it. Co-Authored-By: John Hawthorn <john@hawthorn.email> | |||
| 2021-10-20 | Implement setivar method calls | eileencodes | |
| 2021-10-20 | Allow calling variadic cfuncs with many args | John Hawthorn | |
| We have a check to ensure we don't have to push args on the stack to call a cfunc with many args. However we never need to use the stack for variadic cfuncs, so we shouldn't care about the number of arguments. | |||
| 2021-10-20 | Add codegen for rb_true and rb_false | John Hawthorn | |
| These are used by .nil? and therefore opt_nil_p | |||
| 2021-10-20 | Allow special case of expandarray with nil | John Hawthorn | |
| 2021-10-20 | Shave a few instructions off of leave | Alan Wu | |
| The code path for leave that returns to the interpreter (gen_leave() -> yjit_gen_leave_exit()) used to have the logic: ``` cfp->sp++; cfp->sp[-1] = return_val; cfp->sp--; return return_val; ``` The SP changes it made was unnecessary and this change removes it. After this change, `leave` doesn't adjust the `cfp->sp` of the caller and only writes `cfp->sp[0]`. To accomodate this in the JIT-to-JIT return case, return stubs have an `sp_offset` of 1. The change removes sp adjustment from the JIT-to-JIT return case, too, making it more efficient. Also, since the C method case of `send` has an `sp_offset` of 1 after the call, this change enables block version sharing. | |||
| 2021-10-20 | Use reg1 in GEN_COUNTER_INC to avoid clobbering RAX | Alan Wu | |
