Added new patch set. Landed.
https://chromiumcodereview.appspot.com/9403018/diff/1/src/arm/lithium-codegen-arm.cc File src/arm/lithium-codegen-arm.cc (right): https://chromiumcodereview.appspot.com/9403018/diff/1/src/arm/lithium-codegen-arm.cc#newcode4385 src/arm/lithium-codegen-arm.cc:4385: bool has_elements = elements->length() > 0 && On 2012/02/16 16:09:37, danno wrote:
The empty fixed array should always be used when the length is zero,
and it's
also COW. You could optionally add some asserts.
Actually adding an assertion that all non-COW arrays have length > 0 fails all over the place. As discussed offline I will leave the current check in. I'll investigate where those "empty non-COW arrays" come from. https://chromiumcodereview.appspot.com/9403018/diff/1/src/arm/lithium-codegen-arm.cc#newcode4403 src/arm/lithium-codegen-arm.cc:4403: __ str(r2, FieldMemOperand(result, object_offset + i)); On 2012/02/16 16:09:37, danno wrote:
The store is the same and can be moved out of the if.
Done. https://chromiumcodereview.appspot.com/9403018/diff/1/src/hydrogen.cc File src/hydrogen.cc (right): https://chromiumcodereview.appspot.com/9403018/diff/1/src/hydrogen.cc#newcode3447 src/hydrogen.cc:3447: if (max_depth <= 0) return false; On 2012/02/16 16:09:37, danno wrote:
Don't you want to return on 0 and assert that it's not negative?
Done. https://chromiumcodereview.appspot.com/9403018/diff/1/src/hydrogen.cc#newcode3451 src/hydrogen.cc:3451: elements->map() != boilerplate->GetHeap()->fixed_cow_array_map()) { On 2012/02/16 16:09:37, danno wrote:
length check unnecessary.
See response to first comment. https://chromiumcodereview.appspot.com/9403018/diff/1/src/mips/lithium-codegen-mips.cc File src/mips/lithium-codegen-mips.cc (right): https://chromiumcodereview.appspot.com/9403018/diff/1/src/mips/lithium-codegen-mips.cc#newcode4295 src/mips/lithium-codegen-mips.cc:4295: __ sw(a2, FieldMemOperand(result, object_offset + i)); On 2012/02/16 16:09:37, danno wrote:
Factor our after if
Done. https://chromiumcodereview.appspot.com/9403018/diff/1/src/x64/lithium-codegen-x64.cc File src/x64/lithium-codegen-x64.cc (right): https://chromiumcodereview.appspot.com/9403018/diff/1/src/x64/lithium-codegen-x64.cc#newcode3999 src/x64/lithium-codegen-x64.cc:3999: __ movq(FieldOperand(result, object_offset + i), rcx); On 2012/02/16 16:09:37, danno wrote:
After if
Done. https://chromiumcodereview.appspot.com/9403018/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
