Shopify / yjit

Optimizing JIT compiler built inside CRuby

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Audit YJIT_CANT_COMPILE and similar for stats counters

noahgibbs opened this issue · comments

Looking through yjit_codegen.c, there are some obvious cases where we're not bumping a counter when we return YJIT_CANT_COMPILE (e.g. gen_dupn when n != 2 or gen_newhash when n != 0). I've seen others. But we should audit for cases (e.g. YJIT_CANT_COMPILE and yjit_side_exit) where we know we should be bumping a counter and make sure we are.

Maybe also worth a look: at least send_callsite_not_simple has more than one reason it can happen (for callsite_not_simple: keyword args, keyword splats, regular splats, block arguments.) When auditing we should probably also watch for cases where reasons should be split up into multiple counters.