Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Update RJIT to support newarray_send | Aaron Patterson | 2023-04-18 | 1 | -0/+8 |
| | | | | This also adds max / hash support | ||||
* | Move `catch_except_p` to `compile_data` | eileencodes | 2023-04-11 | 1 | -5/+4 |
| | | | | | | | | | | | | | | The `catch_except_p` flag is used for communicating between parent and child iseq's that a throw instruction was emitted. So for example if a child iseq has a throw in it and the parent wants to catch the throw, we use this flag to communicate to the parent iseq that a throw instruction was emitted. This flag is only useful at compile time, it only impacts the compilation process so it seems to be fine to move it from the iseq body to the compile_data struct. Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org> | ||||
* | Expose rb_sym_to_proc via RJIT | Aaron Patterson | 2023-04-07 | 1 | -0/+4 |
| | | | | This is needed for getblockparamproxy | ||||
* | [Feature #19579] Remove !USE_RVARGC code (#7655) | Peter Zhu | 2023-04-04 | 1 | -0/+5 |
| | | | | | | | | | | | Remove !USE_RVARGC code [Feature #19579] The Variable Width Allocation feature was turned on by default in Ruby 3.2. Since then, we haven't received bug reports or backports to the non-Variable Width Allocation code paths, so we assume that nobody is using it. We also don't plan on maintaining the non-Variable Width Allocation code, so we are going to remove it. | ||||
* | RJIT: Add --rjit-verify-ctx option | Takashi Kokubun | 2023-04-04 | 1 | -0/+1 |
| | |||||
* | RJIT: Store type information in Context | Takashi Kokubun | 2023-04-02 | 1 | -0/+8 |
| | |||||
* | RJIT: Support entry with different PCs | Takashi Kokubun | 2023-04-02 | 1 | -8/+8 |
| | |||||
* | RJIT: Support has_opt ISEQs | Takashi Kokubun | 2023-04-02 | 1 | -0/+2 |
| | |||||
* | RJIT: Simplify cfunc implementation | Takashi Kokubun | 2023-04-02 | 1 | -0/+14 |
| | |||||
* | RJIT: Simplify invokesuper implementation | Takashi Kokubun | 2023-04-02 | 1 | -0/+2 |
| | |||||
* | RJIT: Group blockarg exit reasons | Takashi Kokubun | 2023-04-02 | 1 | -4/+1 |
| | |||||
* | RJIT: Support splat args | Takashi Kokubun | 2023-04-02 | 1 | -1/+2 |
| | |||||
* | RJIT: Update exit reasons | Takashi Kokubun | 2023-04-02 | 1 | -0/+4 |
| | |||||
* | Remove an unneeded function copy | Takashi Kokubun | 2023-04-01 | 1 | -4/+4 |
| | |||||
* | RJIT: Support rest args | Takashi Kokubun | 2023-04-01 | 1 | -0/+12 |
| | |||||
* | RJIT: Fix has_rest exit conditions | Takashi Kokubun | 2023-04-01 | 1 | -1/+1 |
| | |||||
* | RJIT: Remove unused counters | Takashi Kokubun | 2023-04-01 | 1 | -12/+3 |
| | |||||
* | RJIT: Start moving away from VM-like ISEQ handling | Takashi Kokubun | 2023-04-01 | 1 | -4/+29 |
| | |||||
* | RJIT: Implement leaf builtin call | Takashi Kokubun | 2023-03-26 | 1 | -0/+2 |
| | |||||
* | RJIT: Implement attr_writer | Takashi Kokubun | 2023-03-26 | 1 | -3/+9 |
| | |||||
* | RJIT: Put a guard for splat w/ var-arg cfunc | Takashi Kokubun | 2023-03-25 | 1 | -0/+1 |
| | |||||
* | RJIT: Support optional params on splat | Takashi Kokubun | 2023-03-25 | 1 | -1/+0 |
| | |||||
* | RJIT: Remove send_iseq_complex_splat exit | Takashi Kokubun | 2023-03-25 | 1 | -1/+0 |
| | |||||
* | RJIT: Initial support of splat | Takashi Kokubun | 2023-03-25 | 1 | -0/+7 |
| | |||||
* | `vm_call_single_noarg_inline_builtin` | Koichi Sasada | 2023-03-23 | 1 | -0/+1 |
| | | | | | | | | If the iseq only contains `opt_invokebuiltin_delegate_leave` insn and the builtin-function (bf) is inline-able, the caller doesn't need to build a method frame. `vm_call_single_noarg_inline_builtin` is fast path for such cases. | ||||
* | RJIT: Update binding | Takashi Kokubun | 2023-03-21 | 1 | -1/+2 |
| | |||||
* | RJIT: Split has_rest_or_post exit reasons | Takashi Kokubun | 2023-03-21 | 1 | -2/+2 |
| | |||||
* | RJIT: Fix invokesuper | Takashi Kokubun | 2023-03-21 | 1 | -0/+4 |
| | |||||
* | RJIT: Break up RJIT send_iseq_complex exit reasons | Takashi Kokubun | 2023-03-19 | 1 | -1/+14 |
| | |||||
* | RJIT: Implement ifunc invokeblock | Takashi Kokubun | 2023-03-19 | 1 | -1/+6 |
| | |||||
* | RJIT: Fix ISeq invokeblock | Takashi Kokubun | 2023-03-19 | 1 | -0/+2 |
| | |||||
* | RJIT: Implement invokeblock with ISeq | Takashi Kokubun | 2023-03-19 | 1 | -1/+2 |
| | |||||
* | RJIT: Optimize Kernel#respond_to? | Takashi Kokubun | 2023-03-19 | 1 | -0/+24 |
| | |||||
* | RJIT: Optimize String#+@ | Takashi Kokubun | 2023-03-19 | 1 | -0/+5 |
| | |||||
* | RJIT: Optimize String#<< | Takashi Kokubun | 2023-03-19 | 1 | -0/+9 |
| | |||||
* | RJIT: Drop duplicated obj_is_kind_of | Takashi Kokubun | 2023-03-19 | 1 | -4/+0 |
| | |||||
* | RJIT: Workaround USE_RVARGC=0 CI | Takashi Kokubun | 2023-03-18 | 1 | -5/+0 |
| | |||||
* | RJIT: Optimize String#bytesize | Takashi Kokubun | 2023-03-18 | 1 | -0/+4 |
| | |||||
* | RJIT: Optimize String#empty? | Takashi Kokubun | 2023-03-18 | 1 | -0/+25 |
| | |||||
* | RJIT: Optimize Kernel#instance_of? | Takashi Kokubun | 2023-03-18 | 1 | -0/+5 |
| | |||||
* | RJIT: Optimize Kernel#is_a? | Takashi Kokubun | 2023-03-18 | 1 | -0/+6 |
| | |||||
* | RJIT: Reorder opt_case_dispatch branches | Takashi Kokubun | 2023-03-18 | 1 | -3/+20 |
| | |||||
* | RJIT: Implement setclassvariable | Takashi Kokubun | 2023-03-18 | 1 | -0/+4 |
| | |||||
* | RJIT: Implement intern | Takashi Kokubun | 2023-03-18 | 1 | -0/+4 |
| | |||||
* | RJIT: Implement toregexp | Takashi Kokubun | 2023-03-18 | 1 | -0/+12 |
| | |||||
* | RJIT: Prefix rjit_options with rb_ | Takashi Kokubun | 2023-03-18 | 1 | -14/+14 |
| | |||||
* | RJIT: Implement newrange | Takashi Kokubun | 2023-03-18 | 1 | -0/+4 |
| | |||||
* | RJIT: Implement getglobal | Takashi Kokubun | 2023-03-18 | 1 | -0/+4 |
| | |||||
* | RJIT: Implement checkkeyword | Takashi Kokubun | 2023-03-18 | 1 | -4/+12 |
| | |||||
* | RJIT: Implement getspecial insn | Takashi Kokubun | 2023-03-18 | 1 | -0/+24 |
| |