Peter Zhu
7577c101ed
Unify length field for embedded and heap strings ( #7908 )
...
* Unify length field for embedded and heap strings
The length field is of the same type and position in RString for both
embedded and heap allocated strings, so we can unify it.
* Remove RSTRING_EMBED_LEN
2023-06-06 10:19:20 -04:00
Takashi Kokubun
d4dc149c3c
Update an Intel SDM link [ci skip]
2023-04-28 10:09:52 -07:00
Takashi Kokubun
cbfb5fbb25
RJIT: Fix unspecified_bits with locals
2023-04-26 18:12:53 -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
John Hawthorn
be08e1b14c
RJIT: argc check in known cfuncs
2023-04-12 17:48:34 -07:00
Takashi Kokubun
65d27d3c0a
RJIT: Skip a class guard if known to be T_STRING
2023-04-05 00:46:10 -07:00
Takashi Kokubun
9bef39de74
RJIT: Handle include_all argument of respond_to?
2023-04-05 00:38:38 -07:00
Takashi Kokubun
66fe64b269
RJIT: Remove unused variables
2023-04-04 23:55:19 -07:00
Takashi Kokubun
2ddf6079f1
RJIT: Always use guard_two_fixnums
2023-04-04 23:52:14 -07:00
Takashi Kokubun
4e9c3b4518
RJIT: Eliminate known-result guards for blockarg
2023-04-04 23:42:14 -07:00
Takashi Kokubun
4f77d1cdb8
RJIT: Eliminate known-result branches
2023-04-04 23:30:26 -07:00
Takashi Kokubun
e06bebff5e
RJIT: Propagate argument types on method calls
2023-04-04 22:13:25 -07:00
Takashi Kokubun
6d8875b5d7
RJIT: Fix mapping offsets in stack_swap
2023-04-04 22:05:45 -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
51b2f4c0f5
RJIT: Fix the argument of shift_stack
2023-04-04 01:17:23 -07:00
Takashi Kokubun
98f0e2c330
RJIT: Fix the argument for defined
2023-04-04 00:41:58 -07:00
Takashi Kokubun
19506650ef
RJIT: Add --rjit-verify-ctx option
2023-04-04 00:35:29 -07:00
Takashi Kokubun
2c560b976e
RJIT: Fix arguments to SPECIAL_CONST_P
2023-04-04 00:30:57 -07:00
Takashi Kokubun
6a4087702b
RJIT: Update type information on setlocal
2023-04-03 22:42:21 -07:00
Takashi Kokubun
6ab86e4626
RJIT: Fix arguments for shift_stack
2023-04-03 21:26:40 -07:00
Takashi Kokubun
3cb5e7558d
Fix a test_rubyoptions failure
2023-04-03 08:44:16 -07:00
Takashi Kokubun
46e93ef53d
RJIT: Propagate self's type information
2023-04-03 00:49:10 -07:00
Takashi Kokubun
ca8102355a
RJIT: Upgrade type on jit_guard_known_class
2023-04-03 00:39:29 -07:00
Takashi Kokubun
1d452c2cf8
RJIT: Upgrade type to Fixnum after guard
2023-04-03 00:02:45 -07:00
Takashi Kokubun
0abe9d8b32
RJIT: Upgrade type to String after guard
2023-04-02 23:54:08 -07:00
Takashi Kokubun
f0b69eb14f
RJIT: Upgrade type to Array after guard
2023-04-02 23:49:55 -07:00
Takashi Kokubun
d876c008ec
RJIT: Limit the number of versions per block
2023-04-02 23:37:15 -07:00
Takashi Kokubun
3bacc3877a
RJIT: Find a best matching block version
2023-04-02 23:24:14 -07:00
Takashi Kokubun
eb51248c4c
RJIT: Upgrade type to UnknownHeap after guard
2023-04-02 23:11:18 -07:00
Takashi Kokubun
be4e16bc1a
RJIT: Update type information on setn insn
2023-04-02 23:07:58 -07:00
Takashi Kokubun
50285d2864
RJIT: Swap type information on swap insn
2023-04-02 23:06:30 -07:00
git
0276c1d935
* remove trailing spaces. [ci skip]
2023-04-03 05:32:32 +00:00
Takashi Kokubun
d546f8c518
RJIT: Store type information in Context
2023-04-02 22:32:16 -07:00
Takashi Kokubun
8968b47ba8
RJIT: Refactor getlocal and setlocal
2023-04-02 16:50:54 -07:00
Takashi Kokubun
6002b12611
RJIT: Support entry with different PCs
2023-04-02 15:27:40 -07:00
Takashi Kokubun
4fc336127e
RJIT: Support has_opt ISEQs
2023-04-02 14:47:23 -07:00
Takashi Kokubun
ad2b719fc2
RJIT: C::FL_TEST_RAW returns RBOOL
2023-04-02 14:32:51 -07:00
Takashi Kokubun
57ee627929
RJIT: Lazily guard block arg
...
to simplify the implementation
2023-04-02 14:22:42 -07:00
Takashi Kokubun
66f8efc342
RJIT: Simplify cfunc implementation
2023-04-02 13:58:39 -07:00
Takashi Kokubun
284a0ff96c
RJIT: Remove an unneeded branch
2023-04-02 12:28:49 -07:00
Takashi Kokubun
3fe134759c
Skip assert_linear_performance for RJIT
2023-04-02 12:23:23 -07:00
Takashi Kokubun
bf7587748d
RJIT: Simplify invokesuper implementation
2023-04-02 11:42:16 -07:00
Takashi Kokubun
5cc644b147
RJIT: Group blockarg exit reasons
2023-04-02 11:01:23 -07:00
Takashi Kokubun
cd1cd8030c
RJIT: Support splat args
2023-04-02 10:55:03 -07:00
Takashi Kokubun
6f2535deda
RJIT: Prefix a constant with C namespace
2023-04-02 10:40:37 -07:00
Takashi Kokubun
7778c292c4
RJIT: Support keyword arguments
2023-04-02 10:26:22 -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
87dc06ed24
RJIT: Comment a location for each block
2023-04-01 22:39:16 -07:00
Takashi Kokubun
bf2617b8a6
RJIT: Fix has_rest exit conditions
2023-04-01 21:47:28 -07:00