http://codereview.chromium.org/8373029/diff/43002/src/hydrogen.cc File src/hydrogen.cc (right):
http://codereview.chromium.org/8373029/diff/43002/src/hydrogen.cc#newcode2762 src/hydrogen.cc:2762: iterations = iterations * 2; I tried implementing graph structure like that: | /\ / \ o o |\ /| o b o \ | / \|/ e But it was much slower, while not generating bodies twice. Agreed, done http://codereview.chromium.org/8373029/diff/50003/src/arm/lithium-arm.cc File src/arm/lithium-arm.cc (right): http://codereview.chromium.org/8373029/diff/50003/src/arm/lithium-arm.cc#newcode1418 src/arm/lithium-arm.cc:1418: return AssignEnvironment(MarkAsCall(DefineFixed(result, r0), instr)); Sorry, fixed http://codereview.chromium.org/8373029/diff/50003/src/hydrogen.cc File src/hydrogen.cc (right): http://codereview.chromium.org/8373029/diff/50003/src/hydrogen.cc#newcode2757 src/hydrogen.cc:2757: return Bailout("SwitchStatement: no symbol comparisons expected"); In many cases switch is used for parsing (like lex.token in jslint.js) and cmp(tag_value, any_clause) is always string (non-symbol) comparison. So it's faster to use full-codegen, rather doing two passes of checks http://codereview.chromium.org/8373029/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
