summaryrefslogtreecommitdiff
path: root/yjit/src/backend
AgeCommit message (Expand)Author
2024-04-17YJIT: A64: Use CBZ/CBNZ to check for zeroAlan Wu
2024-04-15YJIT: A64: Avoid intermediate register in `opt_and` and friends (#10509)Alan Wu
2024-04-11YJIT: x64: Remove register shuffle with `opt_and` and friends (#10498)Alan Wu
2024-04-02YJIT: A64: Use ADDS/SUBS/CMP (immediate) when possible (#10402)Alan Wu
2024-02-21YJIT: Assert Opnd::Stack's SP expectation (#10061)Takashi Kokubun
2024-02-21YJIT: Allow non-leaf calls on opt_* insns (#10033)Takashi Kokubun
2024-02-20YJIT: Verify the assumption of leaf C calls (#10002)Takashi Kokubun
2024-02-08YJIT: Allow tracing a counted exit (#9890)Takashi Kokubun
2024-02-02YJIT: add missing jge comparison instruction (#9819)Maxime Chevalier-Boisvert
2024-01-29YJIT: add asm comment when we clear local types (#9713)Maxime Chevalier-Boisvert
2024-01-19YJIT: Avoid doubly splitting Opnd::Value on CSel (#9617)Takashi Kokubun
2024-01-18YJIT: Stop incrementing chain_depth on defer_compilation (#9597)Takashi Kokubun
2023-12-25Typofix under bootstraptest, spec and yjit directoriesHiroshi SHIBATA
2023-11-28YJIT: Assert no patch overlap on pos_marker (#9048)Takashi Kokubun
2023-11-23YJIT: Fix jmp_ptr_bytes on x86_64 (#9016)Takashi Kokubun
2023-11-22YJIT: Avoid a register spill on arm64 (#9014)Takashi Kokubun
2023-11-10YJIT: Auto fix for clippy::clone_on_copyAlan Wu
2023-11-10YJIT: Invoke PosMarker callbacks only with solid positionsAlan Wu
2023-11-07YJIT: Use u32 for CodePtr to save 4 bytes eachAlan Wu
2023-11-03YJIT: Delete some dead code and enable lintsAlan Wu
2023-10-19YJIT: Return Option from asm.compile() for has_dropped_bytes()Alan Wu
2023-10-19YJIT: Enable the dead_code lint and delete some dead codeAlan Wu
2023-10-18YJIT: Add --yjit-perf (#8697)Takashi Kokubun
2023-10-17YJIT: Fix clippy::redundant_localsAlan Wu
2023-10-05YJIT: Avoid writing return value to memory in `leave`Alan Wu
2023-09-29YJIT: Chain-guard opt_mult overflow (#8554)Takashi Kokubun
2023-09-15YJIT: Avoid creating a vector in get_temp_regs() (#8446)Takashi Kokubun
2023-09-15YJIT: Fix and enable the unused_imports warningAlan Wu
2023-09-14YJIT: Skip Insn::Comment and format! if disasm is disabled (#8441)Takashi Kokubun
2023-09-14YJIT: Initialize Vec with capacity for iterators (#8439)Takashi Kokubun
2023-09-14YJIT: Initialize Assembler vectors with capacity (#8437)Takashi Kokubun
2023-08-22YJIT: x64: Split mem-to-mem Insn::Store like Insn::MovAlan Wu
2023-08-18YJIT: implement fast path for integer multiplication in opt_mult (#8204)Maxime Chevalier-Boisvert
2023-08-11YJIT: implement codegen for rb_int_lshift (#8201)Maxime Chevalier-Boisvert
2023-08-10YJIT: add mul() instruction to backend IR (#8195)Maxime Chevalier-Boisvert
2023-08-04YJIT: guard for array_len >= num in expandarray (#8169)Maxime Chevalier-Boisvert
2023-08-03YJIT: add jb (unsigned less-than) instruction to backend (#8168)Maxime Chevalier-Boisvert
2023-08-03YJIT: handle expandarray_rhs_too_small case (#8161)Maxime Chevalier-Boisvert
2023-08-02Revert "YJIT: implement `expandarray_rhs_too_small` case (#8153)"Hiroshi SHIBATA
2023-08-01YJIT: implement `expandarray_rhs_too_small` case (#8153)Maxime Chevalier-Boisvert
2023-07-29YJIT: Drop Copy trait from Context (#8138)Takashi Kokubun
2023-07-27YJIT: implement missing `asm.jg` instruction in backend (#8130)Maxime Chevalier-Boisvert
2023-07-06YJIT: Use registers to pass stack temps to C calls (#7920)Takashi Kokubun
2023-07-04YJIT: Break register cycles for C arguments (take 2) (#8018)Takashi Kokubun
2023-06-12Revert "YJIT: Break register cycles for C arguments (#7918)"Takashi Kokubun
2023-06-12YJIT: Break register cycles for C arguments (#7918)Takashi Kokubun
2023-04-20YJIT: Merge lower_stack into the split pass (#7748)Takashi Kokubun
2023-04-20YJIT: Merge csel and mov on arm64 (#7747)Takashi Kokubun
2023-04-20YJIT: Avoid splitting mov for small values on arm64 (#7745)Takashi Kokubun
2023-04-19YJIT: Replace Mov with LoadInto on arm64 (#7744)Takashi Kokubun