Dynamic Recompilation Inline caching: quickening Quickening involves bytecode rewriting — self modifying code — to remove some branches and indirection in the common path