summaryrefslogtreecommitdiff
path: root/zjit/src/codegen.rs
AgeCommit message (Collapse)Author
2025-04-18Fix a comment for subtractionTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Implement Insn::FixnumSub (https://github.com/Shopify/zjit/pull/42)Takashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Move lib.rs functions to appropriate modules ↵Takashi Kokubun
(https://github.com/Shopify/zjit/pull/43) Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Implement Insn::Param using the SP register ↵Takashi Kokubun
(https://github.com/Shopify/zjit/pull/39) Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Load an immediate into a register in the backend ↵Takashi Kokubun
(https://github.com/Shopify/zjit/pull/38) Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Load Param off of cfp->ep (https://github.com/Shopify/zjit/pull/31)Takashi Kokubun
* Load Param off of cfp->ep * Test with --zjit-call-threshold=1 as well * Fix get_opnd's debug output * Return Mem operand from gen_param * Test both first and second calls * Spell out the namespace for Opnd returns * Update a comment about gen_param * Explain why we take a lock * Fix a typo Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Share FrameState by storing it on FunctionMax Bernstein
Give every instruction a cheap ID to hold onto instead of owning a copy. Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Implement FixnumAdd and stub PatchPoint/GuardType ↵Takashi Kokubun
(https://github.com/Shopify/zjit/pull/30) * Implement FixnumAdd and stub PatchPoint/GuardType Co-authored-by: Max Bernstein <max.bernstein@shopify.com> Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> * Clone Target for arm64 * Use $create instead of use create Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> * Fix misindentation from suggested changes * Drop an unneeded variable for mut * Load operand into a register only if necessary --------- Co-authored-by: Max Bernstein <max.bernstein@shopify.com> Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Add compact Type latticeMax Bernstein
This will be used for local type inference and potentially SCCP. Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Compile Insn::Const (https://github.com/Shopify/zjit/pull/18)Takashi Kokubun
* Compile Insn::Const * Update the comment on JITState * Print insn index like YJIT * Wrap and unwrap InsnId Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Rename --zjit-dump-ssa to --zjit-dump-hir ↵Takashi Kokubun
(https://github.com/Shopify/zjit/pull/17) * Rename --zjit-dump-ssa to --zjit-dump-hir * Update comments * Add a comment on iseq_to_hir Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Remove OpndMax Bernstein
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Rename `backend::Opnd` to `backend::lir::Opnd` ↵Takashi Kokubun
(https://github.com/Shopify/zjit/pull/13) Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Add asm commentsTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Resurrect asm comment supportTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Rename ir.rs to hir.rs to avoid namespace ambiguity with backendMaxime Chevalier-Boisvert
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Add --zjit-debug and debug! macroTakashi Kokubun
to print debug messages Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Rename backend::ir to backendTakashi Kokubun
because it's so confusing to have ir.rs in multiple places. Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Initialize dummy globals for testsTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Start compiling the actual IRTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Generate working putnil-leave using the backendTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Rename codegen.rs to state.rsTakashi Kokubun
since it's only about ZJITState at the moment. Because it's no longer called "CodegenGlobals", we don't have any reason to keep it in codegen.rs. Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Move CodeBlock to asm moduleTakashi Kokubun
The assembler does expect CodeBlock as the first argument of most assembler functions, so it is a part of the assembler library. Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Implement Options as part of ZJITStateTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Add opt_lt, remove as_usize() traitMaxime Chevalier-Boisvert
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Generate intructions to be executedTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18bindgen works in --enable-zjit=dev mode.Alan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Get CodeBlockTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Fix bindgenTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Initialize VirtualMemTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131
2025-04-18Copy VirtualMem and mmapTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131