Takashi Kokubun
|
ee52255f93
|
RJIT: Return CantCompile early for arg0 splat
|
2023-04-01 21:42:34 -07:00 |
|
Takashi Kokubun
|
2ce5cfa2be
|
RJIT: Save PC on String#concat
|
2023-04-01 21:34:19 -07:00 |
|
Takashi Kokubun
|
e45ed2da50
|
RJIT: Rewind stack_size on CantCompile and side exits
so that we can take an exit whenever we want.
As a starter, this commit also pops blockarg earlier than some
CantCompile exits.
|
2023-04-01 21:30:42 -07:00 |
|
Takashi Kokubun
|
90cdc5b8ba
|
RJIT: Let the caller of jit_push_frame handle stack_pop
because we want to do this way earlier for other types of calls.
|
2023-04-01 21:13:15 -07:00 |
|
Takashi Kokubun
|
28db75af66
|
RJIT: Check stackoverflow earlier for ISEQ
|
2023-04-01 21:03:10 -07:00 |
|
Takashi Kokubun
|
249fe18e8f
|
RJIT: Remove unused counters
|
2023-04-01 17:24:45 -07:00 |
|
Takashi Kokubun
|
f42cf3fd1e
|
RJIT: Migrate invokeblock to jit_call_iseq
|
2023-04-01 17:17:41 -07:00 |
|
Takashi Kokubun
|
cfea319772
|
RJIT: Migrate bmethod to jit_call_iseq
|
2023-04-01 17:03:45 -07:00 |
|
Takashi Kokubun
|
0973b93e49
|
RJIT: Start moving away from VM-like ISEQ handling
|
2023-04-01 16:56:05 -07:00 |
|
Takashi Kokubun
|
9a1f6975c5
|
RJIT: Propagate a set of args as a CallingInfo
|
2023-03-29 00:44:31 -07:00 |
|
Takashi Kokubun
|
7600e6bc19
|
RJIT: Optimize definedivar using shapes
|
2023-03-27 21:56:39 -07:00 |
|
Takashi Kokubun
|
3352e76441
|
RJIT: Implement leaf builtin call
|
2023-03-26 19:25:17 -07:00 |
|
Takashi Kokubun
|
ff44e32f92
|
RJIT: Store caller sp after stack overflow check
and share some code between ISEQ and C calls.
|
2023-03-26 18:32:01 -07:00 |
|
Takashi Kokubun
|
dc270fc632
|
RJIT: Implement attr_writer
|
2023-03-26 18:02:25 -07:00 |
|
Takashi Kokubun
|
ddb77dd11e
|
RJIT: Put a guard for splat w/ var-arg cfunc
|
2023-03-25 22:14:07 -07:00 |
|
Takashi Kokubun
|
a624a5d709
|
RJIT: Scope down send_iseq_complex_has_block exit
|
2023-03-25 21:57:04 -07:00 |
|
Takashi Kokubun
|
1396b83153
|
RJIT: Fix jit_array_ptr
array_reg was clobbered before being used by heap_ptr_opnd.
heap_ptr_opnd should be loaded before array_reg is clobbered.
|
2023-03-25 21:43:15 -07:00 |
|
Takashi Kokubun
|
9bc2dbd33c
|
RJIT: Support optional params on splat
|
2023-03-25 01:17:05 -07:00 |
|
Takashi Kokubun
|
85a55d3e75
|
RJIT: Remove send_iseq_complex_splat exit
|
2023-03-25 00:59:47 -07:00 |
|
Takashi Kokubun
|
314c7dd6d1
|
RJIT: Support splat for cfunc
|
2023-03-25 00:52:07 -07:00 |
|
Takashi Kokubun
|
1dd65f7c55
|
RJIT: Initial support of splat
|
2023-03-25 00:31:11 -07:00 |
|
Takashi Kokubun
|
7947920ee7
|
RJIT: Follow a recent CALLER_SETUP_ARG change
|
2023-03-21 22:12:43 -07:00 |
|
Takashi Kokubun
|
38946209a7
|
RJIT: Split has_rest_or_post exit reasons
|
2023-03-21 22:01:55 -07:00 |
|
Takashi Kokubun
|
c44367265d
|
RJIT: Fix invokesuper
|
2023-03-21 00:10:14 -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
|
47f7ec1c9f
|
RJIT: Support invokeblock arity mismatches
|
2023-03-19 23:14:13 -07:00 |
|
Takashi Kokubun
|
e3dc25acae
|
RJIT: Fix ISeq invokeblock
|
2023-03-19 21:52:25 -07:00 |
|
Takashi Kokubun
|
7aeb9e20b9
|
RJIT: Disable ISeq invokeblock for now
since basictest is broken
|
2023-03-19 21:20:28 -07:00 |
|
Takashi Kokubun
|
2d8ecfcc9a
|
RJIT: Implement invokeblock with ISeq
|
2023-03-19 20:56:37 -07:00 |
|
Takashi Kokubun
|
4f350dbfdd
|
RJIT: Remove an unneeded variable
|
2023-03-19 20:27:57 -07:00 |
|
Takashi Kokubun
|
2f29044de4
|
RJIT: Optimize Kernel#block_given?
|
2023-03-19 14:15:45 -07:00 |
|
Takashi Kokubun
|
83ad1cac81
|
RJIT: Optimize Kernel#respond_to?
|
2023-03-19 14:04:58 -07:00 |
|
Takashi Kokubun
|
95c4ced39e
|
RJIT: Optimize Array#empty?
|
2023-03-19 13:41:04 -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
|
ca9355e173
|
RJIT: Optimize Kernel#instance_of?
|
2023-03-18 23:13:25 -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
|
4a8de3fa88
|
RJIT: Fix toregexp
|
2023-03-18 21:39:24 -07:00 |
|
Takashi Kokubun
|
9c2792c3d3
|
RJIT: Implement toregexp
|
2023-03-18 21:37:49 -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 |
|