LGTM with additional test case that tests case when constructor is marked
with
ForbidInlineConstructor.
(e.g. when constructor has 256 assignments to this properties).
https://chromiumcodereview.appspot.com/9370019/diff/9001/src/arm/lithium-codegen-arm.cc
File src/arm/lithium-codegen-arm.cc (right):
https://chromiumcodereview.appspot.com/9370019/diff/9001/src/arm/lithium-codegen-arm.cc#newcode4381
src/arm/lithium-codegen-arm.cc:4381: for (int i = 0; i <
initial_map->inobject_properties(); i++) {
move this loop into the if. it's correct but a bit confusing when it's
outside.
https://chromiumcodereview.appspot.com/9370019/diff/9001/src/ia32/lithium-codegen-ia32.cc
File src/ia32/lithium-codegen-ia32.cc (right):
https://chromiumcodereview.appspot.com/9370019/diff/9001/src/ia32/lithium-codegen-ia32.cc#newcode4268
src/ia32/lithium-codegen-ia32.cc:4268: __ mov(FieldOperand(result,
property_offset), undefined);
I't might be better to load undefined into a register (we have scratch?)
https://chromiumcodereview.appspot.com/9370019/diff/9001/src/x64/lithium-codegen-x64.cc
File src/x64/lithium-codegen-x64.cc (right):
https://chromiumcodereview.appspot.com/9370019/diff/9001/src/x64/lithium-codegen-x64.cc#newcode3999
src/x64/lithium-codegen-x64.cc:3999: __ Move(FieldOperand(result,
property_offset), undefined);
consider pre loading undefined into a register (it's a huge 64-bit
constant).
https://chromiumcodereview.appspot.com/9370019/
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev