http://codereview.chromium.org/5967008/diff/1/src/arm/lithium-codegen-arm.cc File src/arm/lithium-codegen-arm.cc (right):
http://codereview.chromium.org/5967008/diff/1/src/arm/lithium-codegen-arm.cc#newcode1591 src/arm/lithium-codegen-arm.cc:1591: Label done; r9 -> scratch0() http://codereview.chromium.org/5967008/diff/1/src/arm/lithium-codegen-arm.cc#newcode1610 src/arm/lithium-codegen-arm.cc:1610: void LCodeGen::DoLoadKeyedFastElement(LLoadKeyedFastElement* instr) { r9 -> scratch0(), move Register scratch = scratch0() to the beginning of the function. http://codereview.chromium.org/5967008/diff/1/src/arm/lithium-codegen-arm.cc#newcode1830 src/arm/lithium-codegen-arm.cc:1830: Register scratch = r9; r9 -> scratch0() http://codereview.chromium.org/5967008/diff/1/src/arm/lithium-codegen-arm.cc#newcode1833 src/arm/lithium-codegen-arm.cc:1833: ASSERT(!object.is(value) && !scratch.is(object) && !scratch.is(value)); Remove the scratch check part from the assert. http://codereview.chromium.org/5967008/diff/1/src/arm/lithium-codegen-arm.cc#newcode1843 src/arm/lithium-codegen-arm.cc:1843: if (instr->needs_write_barrier()) { I don't think we need a temp register on ARM, as we have the scratch register. You should remove the temp register from the ARM LStoreNamedField instruction. http://codereview.chromium.org/5967008/diff/1/src/arm/lithium-codegen-arm.cc#newcode1881 src/arm/lithium-codegen-arm.cc:1881: Register key = instr->key()->IsRegister() ? ToRegister(instr->key()) : no_reg; r9 -> scratch0() http://codereview.chromium.org/5967008/diff/1/src/arm/lithium-codegen-arm.cc#newcode1896 src/arm/lithium-codegen-arm.cc:1896: // Update the write barrier unless we're certain that we're storing a smi. Please change comment to something like // Update the write barrier if required. Or maybe just remove the comment altogether. Same for the ia32 version. http://codereview.chromium.org/5967008/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
