Koichi Sasada
c9fd81b860
vm_call_single_noarg_inline_builtin
...
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.
2023-03-23 14:03:12 +09:00
Takashi Kokubun
cb45809454
RJIT: Update binding
2023-03-21 22:28:39 -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
e3dc25acae
RJIT: Fix ISeq invokeblock
2023-03-19 21:52:25 -07:00
Takashi Kokubun
2d8ecfcc9a
RJIT: Implement invokeblock with ISeq
2023-03-19 20:56:37 -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
9654a28cc5
RJIT: Drop duplicated obj_is_kind_of
2023-03-19 00:06:03 -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
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
644c998525
RJIT: Support --rjit-stats on release build as well
2023-03-17 22:31:41 -07:00
Takashi Kokubun
182f4f0d1c
Fix a bindgen CI failure
2023-03-16 11:05:54 -07:00
Takashi Kokubun
d8344559b2
RJIT: Simplify how Capstone is used in tests
2023-03-13 20:42:19 -07:00
Takashi Kokubun
ed269c81aa
RJIT: Count invokeblock exit types
2023-03-12 23:38:11 -07:00
Takashi Kokubun
da9c84f859
RJIT: Rename a side exit counter
2023-03-12 22:15:58 -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
846fc356cb
RJIT: Use case-in for exhaustive matches
2023-03-11 22:17:06 -08: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
0c0c88d383
Support multiple attributes with Primitive.attr!
2023-03-11 14:19:46 -08:00
Takashi Kokubun
76808b1ee4
RJIT: Start testing Assembler
2023-03-10 13:57:52 -08:00
Takashi Kokubun
cdece5cf36
RJIT: Remove unused code from headers
2023-03-10 13:11:01 -08:00
Takashi Kokubun
c364e0745d
RJIT: Introduce --rjit-exec-mem-size
2023-03-10 13:04:45 -08:00
Takashi Kokubun
93f7106b62
RJIT: Remove unused methods in rjit_c.rb
2023-03-10 11:42:23 -08:00
Takashi Kokubun
4afe9c09a0
RJIT: Use imemo_type_p instead
...
which seems safer. It seems like imemo_type can cause SEGV.
2023-03-09 22:15:16 -08:00
Takashi Kokubun
1a0d3ec4b9
RJIT: Make functions in rjit_c.c static
...
They don't need to be global.
2023-03-08 23:38:02 -08:00
Takashi Kokubun
f5909ac6d9
RJIT: Stop allowing leaked globals rjit_*
2023-03-08 23:24:38 -08:00