summaryrefslogtreecommitdiff
path: root/tool/rjit
AgeCommit message (Collapse)Author
2023-12-22RJIT: Distinguish Pointer with ArrayTakashi Kokubun
This is more convenient for accessing those fields.
2023-12-18RJIT: Share rb_vm_insns_count for vm_insns_countTakashi Kokubun
2023-11-13Revert "Revert "Remove SHAPE_CAPACITY_CHANGE shapes""Peter Zhu
This reverts commit 5f3fb4f4e397735783743fe52a7899b614bece20.
2023-11-10Revert "Remove SHAPE_CAPACITY_CHANGE shapes"Peter Zhu
This reverts commit f6910a61122931e4193bcc0fad18d839c319b720. We're seeing crashes in the test suite of Shopify's core monolith after this change.
2023-11-09Remove SHAPE_CAPACITY_CHANGE shapesPeter Zhu
We don't need to create a shape to transition capacity as we can transition the capacity when the capacity of the SHAPE_IVAR changes.
2023-11-02Make every initial size pool shape a root shapePeter Zhu
This commit makes every initial size pool shape a root shape and assigns it a capacity of 0.
2023-10-12YJIT: port call threshold logic from Rust to C for performance (#8628)Maxime Chevalier-Boisvert
* Port call threshold logic from Rust to C for performance * Prefix global/field names with yjit_ * Fix linker error * Fix preprocessor condition for rb_yjit_threshold_hit * Fix third linker issue * Exclude yjit_calls_at_interv from RJIT bindgen --------- Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
2023-10-04Remove a binding.irb in rjit-bindgenTakashi Kokubun
2023-08-08YJIT: Compile exception handlers (#8171)Takashi Kokubun
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com> Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2023-06-23Expose rb_hash_resurrectAaron Patterson
This is for implementing the `duphash` instruction Notes: Merged: https://github.com/ruby/ruby/pull/7969
2023-04-18Update RJIT to support newarray_sendAaron Patterson
This also adds max / hash support Notes: Merged: https://github.com/ruby/ruby/pull/6090
2023-04-07Expose rb_sym_to_proc via RJITAaron Patterson
This is needed for getblockparamproxy Notes: Merged: https://github.com/ruby/ruby/pull/7673
2023-04-04[Feature #19579] Remove !USE_RVARGC code (#7655)Peter Zhu
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. Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2023-04-02RJIT: Store type information in ContextTakashi Kokubun
2023-04-02RJIT: Support entry with different PCsTakashi Kokubun
2023-04-02RJIT: Simplify cfunc implementationTakashi Kokubun
2023-04-01Remove an unneeded function copyTakashi Kokubun
2023-04-01RJIT: Support rest argsTakashi Kokubun
2023-04-01RJIT: Start moving away from VM-like ISEQ handlingTakashi Kokubun
2023-03-31rename `rb_thread_t::locking_native_thread`Koichi Sasada
to `rb_thread_t::has_dedicated_nt` Notes: Merged: https://github.com/ruby/ruby/pull/7638
2023-03-26RJIT: Implement leaf builtin callTakashi Kokubun
2023-03-26RJIT: Implement attr_writerTakashi Kokubun
2023-03-25RJIT: Initial support of splatTakashi Kokubun
2023-03-19RJIT: Break up RJIT send_iseq_complex exit reasonsTakashi Kokubun
2023-03-19RJIT: Implement ifunc invokeblockTakashi Kokubun
2023-03-19RJIT: Optimize Kernel#respond_to?Takashi Kokubun
2023-03-19RJIT: Optimize String#+@Takashi Kokubun
2023-03-19RJIT: Optimize String#<<Takashi Kokubun
2023-03-18RJIT: Workaround USE_RVARGC=0 CITakashi Kokubun
2023-03-18RJIT: Optimize String#bytesizeTakashi Kokubun
2023-03-18RJIT: Optimize String#empty?Takashi Kokubun
2023-03-18RJIT: Optimize Kernel#is_a?Takashi Kokubun
2023-03-18RJIT: Reorder opt_case_dispatch branchesTakashi Kokubun
2023-03-18RJIT: Implement setclassvariableTakashi Kokubun
2023-03-18RJIT: Implement internTakashi Kokubun
2023-03-18RJIT: Implement toregexpTakashi Kokubun
2023-03-18RJIT: Prefix rjit_options with rb_Takashi Kokubun
2023-03-18RJIT: Implement newrangeTakashi Kokubun
2023-03-18RJIT: Implement getglobalTakashi Kokubun
2023-03-18RJIT: Implement checkkeywordTakashi Kokubun
2023-03-18RJIT: Implement getspecial insnTakashi Kokubun
2023-03-17RJIT: Implement putspecialobject insnTakashi Kokubun
2023-03-17RJIT: Implement throw insnTakashi Kokubun
2023-03-16Fix a bindgen CI failureTakashi Kokubun
2023-03-12RJIT: Count invokeblock exit typesTakashi Kokubun
2023-03-12RJIT: Fix a typoTakashi Kokubun
and import a missing function
2023-03-12RJIT: Implement --rjit-trace-exitsTakashi Kokubun
2023-03-11RJIT: Migrate SIZET values to RJIT::C constantsTakashi Kokubun
2023-03-11RJIT: Introduce constants under RubyVM::RJIT::CTakashi Kokubun
2023-03-11RJIT: Automate function pointer importsTakashi Kokubun