| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-10-20 | Yet Another Ruby JIT! | Jose Narvaez | |
| Renaming uJIT to YJIT. AKA s/ujit/yjit/g. | |||
| 2021-10-20 | Runtime counters for bailing from opt_send_without_block | Alan Wu | |
| This allows counting things in generated code such as side exits or different reasons for failing to compile. Runtime counters are exposed to Ruby as `UJIT.runtime_stats` for ease of reporting and analysis. | |||
| 2021-10-20 | Support memory operands to push | Max Bernstein | |
| 2021-10-20 | Fix jmp encoding. Rename conditional jumps jxx() to jxx_label() | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Tally instructions when taking side exists for --ujit-stats | Alan Wu | |
| shopify/ruby#29 Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> | |||
| 2021-10-20 | Introduce version_t struct. Will be needed for code invalidation. | Maxime Chevalier-Boisvert | |
| 2021-10-20 | MicroJIT: generate less code for CFUNCs | Alan Wu | |
| Added UJIT_CHECK_MODE. Set to 1 to double check method dispatch in generated code. It's surprising to me that we need to watch both cc and cme. There might be opportunities to simplify there. | |||
| 2021-10-20 | Added RUBY_VM_CHECK_INTS to CFUNC calls | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Implemented mechanism for rel32 call | Maxime Chevalier-Boisvert | |
| 2021-10-20 | First pass at CFUNC calls complete. Not yet functional. | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Added int3() to x86 asm | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Anonymous union is a C11 feature unavailable to us | Alan Wu | |
| 2021-10-20 | Respect redefinition in MicroJIT's opt_minus | Alan Wu | |
| 2021-10-20 | Removed inc/dec instructions because usage not recommended. | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Move registers into header and make them static | Alan Wu | |
| We were leaking these as global symbols and were having linking errors with Clang 12. | |||
| 2021-10-20 | Implemented opt_minus in MicroJIT | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Comment out jnl to fix Linux build again | Alan Wu | |
| 2021-10-20 | Added member_opnd() convenience macro | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Added jmp_ptr() to ujit_asm.h | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Implemented side-exits to interpreter. setlocal_WC_0 | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Comment out jnl to avoid conflict with system header | Alan Wu | |
| This is specific to Linux | |||
| 2021-10-20 | Added 8-bit and 16-bit general-purpose registers, more tests. | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Added method to align code block write position | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Port print_int, movsx. Implement putself. | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Add function to print strings from generated code | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Compiling getlocal_WC_0 | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Ported xor and cmovcc instructions | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Ported neg, and, or instructions | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Remove PC argument from ujit instructions | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Small refactorings in ujit_compile.c | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Added cmp, not. Generate code for nop instruction. | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Ported inc/dec instructions | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Removed native_pop_code, ported call with label | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Ported label linking and conditional jumps | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Added shift instructions | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Added sub instruction, 32-bit registers, more tests | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Added jmp R/M instruction | Maxime Chevalier-Boisvert | |
| 2021-10-20 | add and mov instruction encoding ported and tested | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Progress on x86 assembler. Encode a few simple instructions. | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Started porting instruction encoding | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Progress on porting x86 assembler for MicroJIT | Maxime Chevalier-Boisvert | |
