LGTM!
https://chromiumcodereview.appspot.com/9425045/diff/4001/src/arm/lithium-arm.h File src/arm/lithium-arm.h (right): https://chromiumcodereview.appspot.com/9425045/diff/4001/src/arm/lithium-arm.h#newcode2100 src/arm/lithium-arm.h:2100: class LCheckMapValue: public LTemplateInstruction<1, 2, 0> { Since there is no output operand: <0, 2, 0> https://chromiumcodereview.appspot.com/9425045/diff/4001/src/ia32/lithium-ia32.h File src/ia32/lithium-ia32.h (right): https://chromiumcodereview.appspot.com/9425045/diff/4001/src/ia32/lithium-ia32.h#newcode2205 src/ia32/lithium-ia32.h:2205: class LCheckMapValue: public LTemplateInstruction<1, 2, 0> { No output: <0, 2, 0> https://chromiumcodereview.appspot.com/9425045/diff/4001/src/x64/lithium-x64.h File src/x64/lithium-x64.h (right): https://chromiumcodereview.appspot.com/9425045/diff/4001/src/x64/lithium-x64.h#newcode2075 src/x64/lithium-x64.h:2075: class LCheckMapValue: public LTemplateInstruction<1, 2, 0> { Also here: <0, 2, 0> https://chromiumcodereview.appspot.com/9425045/diff/4001/test/mjsunit/compiler/optimized-for-in.js File test/mjsunit/compiler/optimized-for-in.js (right): https://chromiumcodereview.appspot.com/9425045/diff/4001/test/mjsunit/compiler/optimized-for-in.js#newcode101 test/mjsunit/compiler/optimized-for-in.js:101: delete t[i]; maybe use deopt.deopt to deoptimize? https://chromiumcodereview.appspot.com/9425045/diff/4001/test/mjsunit/compiler/optimized-for-in.js#newcode187 test/mjsunit/compiler/optimized-for-in.js:187: function mkTable(opt) { return { a: "1", b: "2", c: "3", d: "4" }; } Why pass in the opt parameter? it seems not used. https://chromiumcodereview.appspot.com/9425045/ -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev