MIPS64: Refine 'Remove unused byte from Map::instance_sizes field.'

Port 2027335f1c

Original commit message:
Note that there are currently no objects that require a pre-allocated
properties backing store, all such slots are in-object properties from
the begining. Hence {unused + pre_allocated - inobject == 0} holds.

BUG=

Review URL: https://codereview.chromium.org/1226363003

Cr-Commit-Position: refs/heads/master@{#29610}
This commit is contained in:
balazs.kilvady 2015-07-13 06:36:03 -07:00 committed by Commit bot
parent 4b22d5eca2
commit 9f9f27c333

View File

@ -483,12 +483,8 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
Operand(static_cast<int64_t>(Map::kSlackTrackingCounterEnd)));
// Allocate object with a slack.
__ lwu(a0, FieldMemOperand(a2, Map::kInstanceSizesOffset));
__ Ext(a0, a0, Map::kInObjectPropertiesByte * kBitsPerByte,
kBitsPerByte);
__ lwu(a2, FieldMemOperand(a2, Map::kInstanceAttributesOffset));
__ Ext(a2, a2, Map::kUnusedPropertyFieldsByte * kBitsPerByte,
kBitsPerByte);
__ lbu(a0, FieldMemOperand(a2, Map::kInObjectPropertiesOffset));
__ lbu(a2, FieldMemOperand(a2, Map::kUnusedPropertyFieldsOffset));
__ dsubu(a0, a0, a2);
__ dsll(at, a0, kPointerSizeLog2);
__ daddu(a0, t1, at);