https://chromiumcodereview.appspot.com/9141016/diff/16001/src/hydrogen.cc File src/hydrogen.cc (right):
https://chromiumcodereview.appspot.com/9141016/diff/16001/src/hydrogen.cc#newcode1478 src/hydrogen.cc:1478: // the current block contain all of the loop's dependencies. I don't think this works in general: e.g. in a simple while-loop: P->H H->A H->X A->B A->C B->D C->D D-->H If I understand the code correctly, the outstanding count would be > 0 for all blocks A, B, C, D. https://chromiumcodereview.appspot.com/9141016/diff/16001/test/mjsunit/elements-transition-hoisting.js File test/mjsunit/elements-transition-hoisting.js (right): https://chromiumcodereview.appspot.com/9141016/diff/16001/test/mjsunit/elements-transition-hoisting.js#newcode50 test/mjsunit/elements-transition-hoisting.js:50: // point, but when the code gets optimized, the double transition should s/double// https://chromiumcodereview.appspot.com/9141016/diff/16001/test/mjsunit/elements-transition-hoisting.js#newcode56 test/mjsunit/elements-transition-hoisting.js:56: } while (false); do { } while(false) may be optimized away by the compiler. Not sure if we currently do it, but in the future it will definitely be. https://chromiumcodereview.appspot.com/9141016/diff/16001/test/mjsunit/elements-transition-hoisting.js#newcode57 test/mjsunit/elements-transition-hoisting.js:57: // Check outside of loop to prevent call in loop This comment does not make sense: there is already a call to assertTrue, %HasFastElements, etc. inside the loop. https://chromiumcodereview.appspot.com/9141016/diff/16001/test/mjsunit/elements-transition-hoisting.js#newcode76 test/mjsunit/elements-transition-hoisting.js:76: // point, but when the code gets optimized, the double transition should s/double// https://chromiumcodereview.appspot.com/9141016/diff/16001/test/mjsunit/elements-transition-hoisting.js#newcode109 test/mjsunit/elements-transition-hoisting.js:109: a.foo = object; // This map check should be hoistable There are calls inside the loop, so this map check won't be hoisted. https://chromiumcodereview.appspot.com/9141016/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
