Aaron Patterson
7ce6bcaf8b
Expose rb_hash_resurrect
...
This is for implementing the `duphash` instruction
2023-06-23 11:46:21 -07:00
Aaron Patterson
bdffcd6df3
Update RJIT to support newarray_send
...
This also adds max / hash support
2023-04-18 17:16:22 -07:00
Aaron Patterson
a9bfb64153
Expose rb_sym_to_proc via RJIT
...
This is needed for getblockparamproxy
2023-04-07 09:49:15 -07:00
Peter Zhu
1da2e7fca3
[Feature #19579 ] Remove !USE_RVARGC code ( #7655 )
...
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.
2023-04-04 17:30:06 -04:00
Takashi Kokubun
d546f8c518
RJIT: Store type information in Context
2023-04-02 22:32:16 -07:00
Takashi Kokubun
6002b12611
RJIT: Support entry with different PCs
2023-04-02 15:27:40 -07:00
Takashi Kokubun
66f8efc342
RJIT: Simplify cfunc implementation
2023-04-02 13:58:39 -07:00
Takashi Kokubun
1b475fcd10
Remove an unneeded function copy
2023-04-01 23:09:05 -07:00
Takashi Kokubun
a077b7e36b
RJIT: Support rest args
2023-04-01 23:00:36 -07:00
Takashi Kokubun
0973b93e49
RJIT: Start moving away from VM-like ISEQ handling
2023-04-01 16:56:05 -07:00
Koichi Sasada
ad7362db07
rename `rb_thread_t::locking_native_thread`
...
to `rb_thread_t::has_dedicated_nt`
2023-03-31 18:10:00 +09:00
Takashi Kokubun
3352e76441
RJIT: Implement leaf builtin call
2023-03-26 19:25:17 -07:00
Takashi Kokubun
dc270fc632
RJIT: Implement attr_writer
2023-03-26 18:02:25 -07:00
Takashi Kokubun
1dd65f7c55
RJIT: Initial support of splat
2023-03-25 00:31:11 -07:00
Takashi Kokubun
70ea58bd5b
RJIT: Break up RJIT send_iseq_complex exit reasons
2023-03-19 23:58:14 -07:00
Takashi Kokubun
59b86da82c
RJIT: Implement ifunc invokeblock
2023-03-19 23:32:07 -07:00
Takashi Kokubun
83ad1cac81
RJIT: Optimize Kernel#respond_to?
2023-03-19 14:04:58 -07:00
Takashi Kokubun
cd5a8d0160
RJIT: Optimize String#+@
2023-03-19 13:36:26 -07:00
Takashi Kokubun
2121282753
RJIT: Optimize String#<<
2023-03-19 13:25:41 -07:00
Takashi Kokubun
c4e2718763
RJIT: Workaround USE_RVARGC=0 CI
2023-03-18 23:42:58 -07:00
Takashi Kokubun
32e0c97dfa
RJIT: Optimize String#bytesize
2023-03-18 23:35:42 -07:00
Takashi Kokubun
106cca5111
RJIT: Optimize String#empty?
2023-03-18 23:24:57 -07:00
Takashi Kokubun
824cf88969
RJIT: Optimize Kernel#is_a?
2023-03-18 22:59:46 -07:00
Takashi Kokubun
cc9330f8c0
RJIT: Reorder opt_case_dispatch branches
2023-03-18 22:32:27 -07:00
Takashi Kokubun
71bcab4519
RJIT: Implement setclassvariable
2023-03-18 21:49:46 -07:00
Takashi Kokubun
8510f33cc1
RJIT: Implement intern
2023-03-18 21:42:20 -07:00
Takashi Kokubun
9c2792c3d3
RJIT: Implement toregexp
2023-03-18 21:37:49 -07:00
Takashi Kokubun
d189f8d870
RJIT: Prefix rjit_options with rb_
2023-03-18 21:28:55 -07:00
Takashi Kokubun
2eefd71e0f
RJIT: Implement newrange
2023-03-18 21:24:31 -07:00
Takashi Kokubun
81e19b7d99
RJIT: Implement getglobal
2023-03-18 21:20:58 -07:00
Takashi Kokubun
9f8e914943
RJIT: Implement checkkeyword
2023-03-18 21:15:22 -07:00
Takashi Kokubun
dc28ccbb6d
RJIT: Implement getspecial insn
2023-03-18 00:00:18 -07:00
Takashi Kokubun
93e05aaa74
RJIT: Implement putspecialobject insn
2023-03-17 23:46:56 -07:00
Takashi Kokubun
45a17013aa
RJIT: Implement throw insn
2023-03-17 23:27:16 -07:00
Takashi Kokubun
182f4f0d1c
Fix a bindgen CI failure
2023-03-16 11:05:54 -07:00
Takashi Kokubun
ed269c81aa
RJIT: Count invokeblock exit types
2023-03-12 23:38:11 -07:00
Takashi Kokubun
d27b594841
RJIT: Fix a typo
...
and import a missing function
2023-03-12 22:09:05 -07:00
Takashi Kokubun
9cd5441d28
RJIT: Implement --rjit-trace-exits
2023-03-12 15:15:08 -07:00
Takashi Kokubun
fe34db5a1b
RJIT: Migrate SIZET values to RJIT::C constants
2023-03-11 22:04:30 -08:00
Takashi Kokubun
50c5f94ed7
RJIT: Introduce constants under RubyVM::RJIT::C
2023-03-11 21:48:28 -08:00
Takashi Kokubun
58f7e8b7f8
RJIT: Automate function pointer imports
2023-03-11 21:26:40 -08:00
Takashi Kokubun
47a6cfca72
RJIT: Use as the largest type as possible
...
to just import stuff easily
2023-03-11 21:26:40 -08:00
Takashi Kokubun
46a3634bcf
RJIT: Use SIZET macros instead of original PTR ones
2023-03-11 20:47:08 -08:00
Takashi Kokubun
c6bea54c70
RJIT: Drop unused USE_* macros support
2023-03-11 20:42:28 -08:00
Takashi Kokubun
cdece5cf36
RJIT: Remove unused code from headers
2023-03-10 13:11:01 -08:00
Takashi Kokubun
309dd50a01
Fix node search in bindgen
...
This is to fix a weird bindgen behavior on Matt's branch:
https://github.com/ruby/ruby/pull/7393
2023-03-08 13:13:23 -08:00
Takashi Kokubun
23ec248e48
s/mjit/rjit/
2023-03-06 23:44:01 -08:00
Takashi Kokubun
2e875549a9
s/MJIT/RJIT/
2023-03-06 23:44:01 -08:00
Takashi Kokubun
eaccdc1941
Rename MJIT filenames to RJIT
2023-03-06 23:44:01 -08:00