| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index a51d67f3e090553b6c3c8dbd334f4b100a1043ac..7a48a44cee01e0472342c117dc1d6819df81a01a 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -126,7 +126,6 @@ class LChunkBuilder;
|
| V(InnerAllocatedObject) \
|
| V(InstanceOf) \
|
| V(InstanceOfKnownGlobal) \
|
| - V(InstanceSize) \
|
| V(InvokeFunction) \
|
| V(IsConstructCallAndBranch) \
|
| V(IsObjectAndBranch) \
|
| @@ -4450,26 +4449,6 @@ class HInstanceOfKnownGlobal V8_FINAL : public HTemplateInstruction<2> {
|
| };
|
|
|
|
|
| -// TODO(mstarzinger): This instruction should be modeled as a load of the map
|
| -// field followed by a load of the instance size field once HLoadNamedField is
|
| -// flexible enough to accommodate byte-field loads.
|
| -class HInstanceSize V8_FINAL : public HTemplateInstruction<1> {
|
| - public:
|
| - explicit HInstanceSize(HValue* object) {
|
| - SetOperandAt(0, object);
|
| - set_representation(Representation::Integer32());
|
| - }
|
| -
|
| - HValue* object() { return OperandAt(0); }
|
| -
|
| - virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE {
|
| - return Representation::Tagged();
|
| - }
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(InstanceSize)
|
| -};
|
| -
|
| -
|
| class HPower V8_FINAL : public HTemplateInstruction<2> {
|
| public:
|
| static HInstruction* New(Zone* zone,
|
| @@ -5805,6 +5784,12 @@ class HObjectAccess V8_FINAL {
|
| return HObjectAccess(kMaps, JSObject::kMapOffset);
|
| }
|
|
|
| + static HObjectAccess ForMapInstanceSize() {
|
| + return HObjectAccess(kInobject,
|
| + Map::kInstanceSizeOffset,
|
| + Representation::Byte());
|
| + }
|
| +
|
| static HObjectAccess ForPropertyCellValue() {
|
| return HObjectAccess(kInobject, PropertyCell::kValueOffset);
|
| }
|
|
|