| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2022-08-29 | Port gen_checktype to the new IR assembler backend ↵ | Zack Deveau | |
| (https://github.com/Shopify/ruby/pull/343) | |||
| 2022-08-29 | Port the YJIT defined opcode; fix C_ARG_REGS ↵ | Noah Gibbs | |
| (https://github.com/Shopify/ruby/pull/342) | |||
| 2022-08-29 | A64: Fix off by one in offset encoding for BL ↵ | Alan Wu | |
| (https://github.com/Shopify/ruby/pull/344) * A64: Fix off by one in offset encoding for BL It's relative to the address of the instruction not the end of it. * A64: Fix off by one when encoding B It's relative to the start of the instruction not the end. * A64: Add some tests for boundary offsets | |||
| 2022-08-29 | Fix a bug in the x86 backend wrt large integer values, enable more tests | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Port and test checkkeyword (https://github.com/Shopify/ruby/pull/339) | Noah Gibbs | |
| 2022-08-29 | Fix IncrCounter on ARM | Alan Wu | |
| The order of operands to LDADDAL were flipped and the destination pointer was dereferenced instead of passed as an address. | |||
| 2022-08-29 | Test --yjit-stats in our CI workflows | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Add LiveReg IR instruction to fix stats leave exit code ↵ | Alan Wu | |
| (https://github.com/Shopify/ruby/pull/341) It allows for reserving a specific register and prevents the register allocator from clobbering it. Without this `./miniruby --yjit-stats --yjit-callthreshold=1 -e0` was crashing because the counter incrementing code was clobbering RAX incorrectly. | |||
| 2022-08-29 | Fix CI workflows | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Fixes (https://github.com/Shopify/ruby/pull/340) | Kevin Newton | |
| * Fix conditional jumps to label * Bitmask immediates cannot be u64::MAX | |||
| 2022-08-29 | Fixes for AArch64 (https://github.com/Shopify/ruby/pull/338) | Kevin Newton | |
| * Better splitting for Op::Add, Op::Sub, and Op::Cmp * Split stores if the displacement is too large * Use a shifted immediate argument * Split all places where shifted immediates are used * Add more tests to the cirrus workflow | |||
| 2022-08-29 | Enable more btests | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Add ifdef to clear cache | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Clear the icache on arm | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Port and test duparray and splatarray (https://github.com/Shopify/ruby/pull/337) | Noah Gibbs | |
| * Port duparray opcode * Port and test splatarray | |||
| 2022-08-29 | Fix bug with opt_lt, csel on x86 | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Work on opt_lt, fix x86 backend bug in cmp() | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Fixes (https://github.com/Shopify/ruby/pull/336) | Kevin Newton | |
| * Fix bitmask encoding to u32 * Fix splitting for Op::And to account for bitmask immediate | |||
| 2022-08-29 | Enable more btests in the CI workflows ↵ | Maxime Chevalier-Boisvert | |
| (https://github.com/Shopify/ruby/pull/334) * Enable more btests in the CI workflows * Update workflows | |||
| 2022-08-29 | Better splitting for Op::Test on AArch64 ↵ | Kevin Newton | |
| (https://github.com/Shopify/ruby/pull/335) | |||
| 2022-08-29 | Fix crash in newhash ccall | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Fix corrupted X29 causing segfault, thanks Alan! | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Port over newrange | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Port over setlocal and getglobal | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Temporarily simplify code for emit_conditional_jump to fix a bug | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Refactor YJIT branches to use PosMarker ↵ | Maxime Chevalier-Boisvert | |
| (https://github.com/Shopify/ruby/pull/333) * Refactor defer_compilation to use PosMarker * Port gen_direct_jump() to use PosMarker * Port gen_branch, branchunless * Port over gen_jump() * Port over branchif and branchnil * Fix use od record_boundary_patch_point in jump_to_next_insn | |||
| 2022-08-29 | Update disasm to work on ARM (https://github.com/Shopify/ruby/pull/331) | Noah Gibbs | |
| 2022-08-29 | Fix dupn (https://github.com/Shopify/ruby/pull/330) | Noah Gibbs | |
| * get_dupn was allocating and throwing away an Assembler object instead of using the one passed in * Uncomment remaining tests in codegen.rs, which seem to work now | |||
| 2022-08-29 | Implement PosMarker instruction (https://github.com/Shopify/ruby/pull/328) | Maxime Chevalier-Boisvert | |
| * Implement PosMarker instruction * Implement PosMarker in the arm backend * Make bindgen run only for clang image * Fix if-else in cirrus CI file * Add missing semicolon * Try removing trailing semicolon * Try to fix shell/YAML syntax Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> | |||
| 2022-08-29 | A lot of fixes coming from our pairing session ↵ | Kevin Newton | |
| (https://github.com/Shopify/ruby/pull/329) * Move to/from SP on AArch64 * Consolidate loads and stores * Implement LDR post-index and LDR pre-index for AArch64 * Implement STR post-index and STR pre-index for AArch64 * Module entrypoints for LDR pre/post -index and STR pre/post -index * Use STR (pre-index) and LDR (post-index) to implement push/pop * Go back to using MOV for to/from SP | |||
| 2022-08-29 | Fix push/pop and frame setup/teardown with Kevin & Alan | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Fix some of the codegen.rs tests (https://github.com/Shopify/ruby/pull/327) | Noah Gibbs | |
| 2022-08-29 | Assert not the same register in AArch64 | Kevin Newton | |
| 2022-08-29 | BLR instruction for AArch64 (https://github.com/Shopify/ruby/pull/325) | Kevin Newton | |
| 2022-08-29 | Use frame_setup() and frame_teardown() | Maxime Chevalier-Boisvert | |
| 2022-08-29 | AArch64 frames (https://github.com/Shopify/ruby/pull/324) | Kevin Newton | |
| 2022-08-29 | ADR fixes for LeaLabel and calls | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Conditionals (https://github.com/Shopify/ruby/pull/323) | Kevin Newton | |
| * CSEL on AArch64 * Implement various Op::CSel* instructions | |||
| 2022-08-29 | Port print_int to the new backend (https://github.com/Shopify/ruby/pull/321) | Kevin Newton | |
| * Port print_int to the new backend * Tests for print_int and print_str | |||
| 2022-08-29 | Update cirrus workflow | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Fix jumps (https://github.com/Shopify/ruby/pull/322) | Kevin Newton | |
| 2022-08-29 | Add --yjit-dump-insns test to Cirrus Arm workflow | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Fix bug with LeaLabel on x86, add CI test | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Fix comment typo | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Port print_str to new backend (https://github.com/Shopify/ruby/pull/318) | Kevin Newton | |
| * ADR and ADRP for AArch64 * Implement Op::Jbe on X86 * Lera instruction * Op::BakeString * LeaPC -> LeaLabel * Port print_str to the new backend * Port print_value to the new backend * Port print_ptr to the new backend * Write null-terminators in Op::BakeString * Fix up rebase issues on print-str port * Add back in panic for X86 backend for unsupported instructions being lowered * Fix target architecture | |||
| 2022-08-29 | Port newhash, add tests for newhash, duphash | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Add extra assertion in new_label for Kevin | Maxime Chevalier-Boisvert | |
| 2022-08-29 | Exclude X0 (C_RET_REG) from allocatable registers on arm ↵ | Maxime Chevalier-Boisvert | |
| (https://github.com/Shopify/ruby/pull/319) * Exclude X0 (C_RET_REG) from allocatable registers on arm * Add another small test snippett | |||
| 2022-08-29 | Op::CPushAll and Op::CPopAll (https://github.com/Shopify/ruby/pull/317) | Kevin Newton | |
| Instructions for pushing all caller-save registers and the flags so that we can implement dump_insns. | |||
| 2022-08-29 | Assert that the # of bytes matches for label refs ↵ | Kevin Newton | |
| (https://github.com/Shopify/ruby/pull/316) | |||
