1. emit_op_add() was loading the operands twice. Removed the redundant load. 2. The snippet may decide that it wants to go the slow path route all the time. In that case, emit_op_add will end up emitting a branch to an out of line slow path followed by some dead code to store the result of the fast path on to the stack. We now check if the snippet determined that there's no fast path, and just emit the slow path inline, and skip the dead store of the fast path result.
Created attachment 264716 [details] the patch.
Comment on attachment 264716 [details] the patch. r=me
Thanks. Landed in r191978: <http://trac.webkit.org/r191978>.