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); |
} |