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
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
d8344559b2
RJIT: Simplify how Capstone is used in tests
2023-03-13 20:42:19 -07:00
Yusuke Endoh
56dbf83a85
Prevent a warning: assigned but unused variable
...
... which made a test fail
http://rubyci.s3.amazonaws.com/debian10/ruby-master/log/20230313T213003Z.fail.html.gz
```
1) Failure:
TestRubyOptions#test_enable [/home/chkbuild/chkbuild/tmp/build/20230313T213003Z/ruby/test/ruby/test_rubyoptions.rb:176]:
pid 1208 exit 0
| /home/chkbuild/chkbuild/tmp/build/20230313T213003Z/ruby/lib/ruby_vm/rjit/insn_compiler.rb:1257: warning: assigned but unused variable - argc
| /home/chkbuild/chkbuild/tmp/build/20230313T213003Z/ruby/lib/ruby_vm/rjit/insn_compiler.rb:1258: warning: assigned but unused variable - flags
.
1. [2/2] Assertion for "stderr"
| <[]> expected but was
| <["/home/chkbuild/chkbuild/tmp/build/20230313T213003Z/ruby/lib/ruby_vm/rjit/insn_compiler.rb:1257: warning: assigned but unused variable - argc",
| "/home/chkbuild/chkbuild/tmp/build/20230313T213003Z/ruby/lib/ruby_vm/rjit/insn_compiler.rb:1258: warning: assigned but unused variable - flags"]>.
```
2023-03-13 22:07:25 +09: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
330086d3f6
RJIT: Implement definedivar
2023-03-12 22:07:02 -07:00
Takashi Kokubun
3938efa70f
RJIT: Fix block param proxy on send
...
peek_at_stack was doubly accounting for C::VM_CALL_ARGS_BLOCKARG, which
made that case always side-exit and hide this bug.
When a block handler is block param proxy, you have to set LEP's specval
as next specval instead of block param proxy itself.
2023-03-12 22:01:38 -07:00
Takashi Kokubun
a23f64221e
RJIT: Fix block finding logic
...
like YJIT does
2023-03-12 21:14:43 -07:00
Takashi Kokubun
9cd5441d28
RJIT: Implement --rjit-trace-exits
2023-03-12 15:15:08 -07:00
Takashi Kokubun
bbd9221e46
RJIT: Give up freezing InsnCompiler
...
for memoization
2023-03-12 13:31:15 -07:00
Takashi Kokubun
3efe4639ec
RJIT: Handle Mod 10 for CMP r/m64, r64
2023-03-11 23:47:11 -08:00
Takashi Kokubun
9c220bf5e1
RJIT: Use lambda constants to match operands
2023-03-11 23:35:58 -08:00
Takashi Kokubun
8835f9d3bf
RJIT: Define QwordPtr for in-clause readability
2023-03-11 22:30:54 -08:00
Takashi Kokubun
9501283dea
RJIT: Leave it to NoMatchingPatternError
...
instead of manually implementing NotImplementedError
2023-03-11 22:25:00 -08: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
93e34fe42e
RJIT: Write initial tests for Assembler
2023-03-10 14:57:37 -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
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
35fd79ac37
RJIT: Lazily compile global ocb
2023-03-09 21:55:14 -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