Mmm but this goes beyond cheating on the benchmark - that func(1,2) example is atrocious. You could (possibly) understand them having a direct match on the math-cordic benchmark to deliver a super-optimization, but they've also got general dead code removal wrong.
From what I see, it seems like they want to have a dead code remover for ie9 but don't know how to do it properly (because in the case of dynamic languages it is tricky). In the meantime, they have a wrong implementation that also detects a specific benchmark and cuts some corners with it. I could almost bet this has something to do with a performance evaluation being linked to a benchmark score.
Comments
Mmm but this goes beyond cheating on the benchmark - that func(1,2) example is atrocious. You could (possibly) understand them having a direct match on the math-cordic benchmark to deliver a super-optimization, but they've also got general dead code removal wrong.
From what I see, it seems like they want to have a dead code remover for ie9 but don't know how to do it properly (because in the case of dynamic languages it is tricky). In the meantime, they have a wrong implementation that also detects a specific benchmark and cuts some corners with it. I could almost bet this has something to do with a performance evaluation being linked to a benchmark score.