| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-10-20 | Update ujit.md | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Update ujit.md | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Update ujit_iface.c | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Update ujit_iface.c | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Implement --ujit-call-threshold | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Remove dead code | Alan Wu | |
| 2021-10-20 | darray: fix strict aliasing issue | Alan Wu | |
| 2021-10-20 | Use rb_darray_make in ujit | Alan Wu | |
| 2021-10-20 | Add rb_darray_make | Alan Wu | |
| 2021-10-20 | darray: fix buffer size calculation for element with strict alignment | Alan Wu | |
| 2021-10-20 | Added ujit_save_regs() and ujit_load_regs() helper functions | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Use darray for incoming branches | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Free your memories! | Alan Wu | |
| 2021-10-20 | Stop using UJIT.install_entry in btest | Alan Wu | |
| CI runs on some platforms uJIT doesn't support. They don't have UJIT.install_entry. Maybe we want something like `install_entry_if_possible`. | |||
| 2021-10-20 | Mark and update object references in generated code | Alan Wu | |
| Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com> | |||
| 2021-10-20 | Check for ::Array, not T_ARRAY in opt_aref | Alan Wu | |
| 2021-10-20 | Update ujit.md | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Update ujit.md | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Update ujit.md | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Create ujit.md | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Fix opt_aref SNAFU | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Ujit bug fixes | Alan Wu | |
| * uJIT: don't compile tailcalls * Don't compile calls to protected methods We need to generate extra code to check whether the call goes through if we want to support these. * Fix copy pasta * Update blockids in branches * Update dependencies | |||
| 2021-10-20 | ujit.h instead in the rest of Ruby | Alan Wu | |
| ujit_iface.h is meant for uJIT internal use only. | |||
| 2021-10-20 | Should fix builds without mjit support | Alan Wu | |
| 2021-10-20 | Stop printing when invalidating uJIT blocks | Alan Wu | |
| 2021-10-20 | Fix empty struct | Alan Wu | |
| 2021-10-20 | Fix build on MSVC | Alan Wu | |
| Use compiler protable way of delcaring function as maybe unused. | |||
| 2021-10-20 | Add regression test for extended table bounds check | Alan Wu | |
| 2021-10-20 | fix: ujit getinstancevariable code checks ivar extended table size | Mike Dalessio | |
| Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> | |||
| 2021-10-20 | Add op-not-redefined check to opt_aref | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Fix compiled iseq count stat | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Tie lifetime of uJIT blocks to iseqs | Alan Wu | |
| * Tie lifetime of uJIT blocks to iseqs Blocks weren't being freed when iseqs are collected. * Add rb_dary. Use it for method dependency table * Keep track of blocks per iseq Remove global version_tbl * Block version bookkeeping fix * dary -> darray * free ujit_blocks * comment about size of ujit_blocks | |||
| 2021-10-20 | oops | Alan Wu | |
| 2021-10-20 | Fix pedantic returning void | Alan Wu | |
| 2021-10-20 | Added more tests to `make btest` | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Add another torture test to `make btest` | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Copy right number of bytes in add_incoming | Alan Wu | |
| 2021-10-20 | Free block->incoming in invalidate_block_version() | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Add missing VM_CHECK_INTS() for correctness | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Add jit_print_loc() for debugging, based on Alan Wu's snippet | Maxime Chevalier-Boisvert | |
| 2021-10-20 | ujit_asm: if mmap() fails with the address hint, try without | Mike Dalessio | |
| valgrind doesn't seem to support the address hint, and so the fallback to using NULL will allow valgrind to run. | |||
| 2021-10-20 | Fix bug in putobject found by @tenderlove | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Optimize gen_dup | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Add failing test identified by Aaron Patterson | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Remove superfluous instruction in opt_send_without_block | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Fix jit_return bug, return address on wrong frame | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Fix REG_SP writeback bug in gen_exit | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Fix context push/pop in Ruby-to-Ruby calls | Maxime Chevalier-Boisvert | |
| 2021-10-20 | fix: allow make to complete when DEBUG_RUBY is not set | Mike Dalessio | |
| 2021-10-20 | fix: ensure add_incoming allocates the proper length memory | Mike Dalessio | |
| Without this fix, valgrind reports for zero-length blocks: ==149294== Invalid write of size 4 ==149294== at 0x408121: add_incoming (ujit_core.c:173) ==149294== by 0x408121: gen_block_version (ujit_core.c:286) ==149294== by 0x40873C: gen_entry_point (ujit_core.c:303) ==149294== by 0x3609DF: rb_ujit_compile_iseq (ujit_iface.c:319) ==149294== by 0x33BD2F: mjit_exec (mjit.h:158) ==149294== by 0x33BD2F: rb_vm_exec (vm.c:2167) ... ==149294== Address 0x11278850 is 0 bytes inside a block of size 1 alloc'd ==149294== at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==149294== by 0x40811B: add_incoming (ujit_core.c:171) ==149294== by 0x40811B: gen_block_version (ujit_core.c:286) ==149294== by 0x40873C: gen_entry_point (ujit_core.c:303) ==149294== by 0x3609DF: rb_ujit_compile_iseq (ujit_iface.c:319) ==149294== by 0x33BD2F: mjit_exec (mjit.h:158) ==149294== by 0x33BD2F: rb_vm_exec (vm.c:2167) | |||
