summaryrefslogtreecommitdiff
path: root/yjit/src/codegen.rs
AgeCommit message (Expand)Author
2023-12-06YJIT: Add some object validity assertionsAlan Wu
2023-11-30YJIT: optimized codegen for `rb_ary_length()` (#9085)Maxime Chevalier-Boisvert
2023-11-30YJIT: Bump ec->cfp after setting cfp->jit_return (#9072)Takashi Kokubun
2023-11-28YJIT: Assert no patch overlap on pos_marker (#9048)Takashi Kokubun
2023-11-27YJIT: add top C function call counts to `--yjit-stats` (#9047)Maxime Chevalier-Boisvert
2023-11-23YJIT: record `num_send_cfunc` stat (#9022)Maxime Chevalier-Boisvert
2023-11-10YJIT: Take cargo --fix for unnecessary calls to into()Alan Wu
2023-11-10YJIT: Auto fix for clippy::unnecessary_castAlan Wu
2023-11-10YJIT: Auto fix for clippy::clone_on_copyAlan Wu
2023-11-08Refactor rb_shape_transition_shape_capa outJean Boussier
2023-11-07YJIT: Fix assert in OOM scenarioAlan Wu
2023-11-07YJIT: Use u32 for CodePtr to save 4 bytes eachAlan Wu
2023-11-07YJIT: Inline basic Ruby methods (#8855)Takashi Kokubun
2023-11-07YJIT: handle out of shape situation in gen_setinstancevariable (#8857)Jean byroot Boussier
2023-11-02YJIT: Always define method codegen table at boot (#8807)Takashi Kokubun
2023-10-19YJIT: Return Option from asm.compile() for has_dropped_bytes()Alan Wu
2023-10-18Revert "shape.h: Make attr_index_t uint8_t"Katherine Oelsner
2023-10-18YJIT: Add --yjit-perf (#8697)Takashi Kokubun
2023-10-17YJIT: Remove call to compile() on empty AssemblerAlan Wu
2023-10-17YJIT: Add a few missing counters for send fallback (#8681)Takashi Kokubun
2023-10-17YJIT: Lookup IDs on boot instead of binding to themAlan Wu
2023-10-13YJIT: Fallback opt_getconstant_path for const_missing (#8623)Takashi Kokubun
2023-10-13YJIT: Fix argument clobbering in some block_arg+rest_param calls (#8647)Alan Wu
2023-10-11shape.h: Make attr_index_t uint8_tJean Boussier
2023-10-10Refactor rb_shape_transition_shape_capa to not accept capacityJean Boussier
2023-10-05YJIT: Avoid writing return value to memory in `leave`Alan Wu
2023-10-03YJIT: Stop spilling temps on jit_prepare_routine_call (#8581)Takashi Kokubun
2023-09-29YJIT: Chain-guard opt_mult overflow (#8554)Takashi Kokubun
2023-09-29YJIT: Use registers for passing C method arguments (#8538)Takashi Kokubun
2023-09-29YJIT: Remove obsoleted jit_rb_int_mul (#8539)Takashi Kokubun
2023-09-15YJIT: Fix object movement bug in iseq guard for invokeblockAlan Wu
2023-09-14YJIT: Skip Insn::Comment and format! if disasm is disabled (#8441)Takashi Kokubun
2023-09-14YJIT: Remove UTF-8 BOM [ci skip]Alan Wu
2023-09-12Make Kernel#lambda raise when given non-literal blockAlan Wu
2023-09-07Add `String#getbyte` YJIT implementation (#8397)Ian Candy
2023-09-07YJIT: Decrease IVAR_MAX_DEPTH to 8 (#8398)Takashi Kokubun
2023-09-07YJIT: Decrease SEND_MAX_DEPTH to 5 (#8390)Takashi Kokubun
2023-09-07Remove function call for String#bytesize (#8389)Aaron Patterson
2023-09-06YJIT: Different comment when only setting ec->cfp [ci skip]Alan Wu
2023-09-06YJIT: Make compiled_* stats available by default (#8379)Takashi Kokubun
2023-08-31YJIT: Handle getblockparamproxy with ifuncJohn Hawthorn
2023-08-30YJIT: shrink Context from 29 to 21 bytes by reducing space used by TempMappin...Maxime Chevalier-Boisvert
2023-08-28YJIT: Remove Type::CArray and limit use of Type::CStringAlan Wu
2023-08-24YJIT: Refactor to use Option<BlockHandler> in SpecValAlan Wu
2023-08-24YJIT: Move block handler SpecVal variants into BlockHandlerAlan Wu
2023-08-23YJIT: Implement VM_CALL_ARGS_BLOCKARG with Proc for ISeq callsAlan Wu
2023-08-23Fix guard-heap upgrades (#8264)Aaron Patterson
2023-08-18YJIT: Fix return type of Integer#/ with T_FIXNUM inputsAlan Wu
2023-08-18YJIT: implement fast path for integer multiplication in opt_mult (#8204)Maxime Chevalier-Boisvert
2023-08-17YJIT: Fix String#<< return typeAlan Wu