Revision: 18906
Author:   [email protected]
Date:     Wed Jan 29 13:44:50 2014 UTC
Log:      Remove the unused HElementsKind instruction.

[email protected]

Review URL: https://codereview.chromium.org/136093004
http://code.google.com/p/v8/source/detail?r=18906

Modified:
 /branches/bleeding_edge/src/arm/lithium-arm.cc
 /branches/bleeding_edge/src/arm/lithium-arm.h
 /branches/bleeding_edge/src/arm/lithium-codegen-arm.cc
 /branches/bleeding_edge/src/hydrogen-instructions.h
 /branches/bleeding_edge/src/ia32/lithium-codegen-ia32.cc
 /branches/bleeding_edge/src/ia32/lithium-ia32.cc
 /branches/bleeding_edge/src/ia32/lithium-ia32.h
 /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc
 /branches/bleeding_edge/src/mips/lithium-mips.cc
 /branches/bleeding_edge/src/mips/lithium-mips.h
 /branches/bleeding_edge/src/x64/lithium-codegen-x64.cc
 /branches/bleeding_edge/src/x64/lithium-x64.cc
 /branches/bleeding_edge/src/x64/lithium-x64.h

=======================================
--- /branches/bleeding_edge/src/arm/lithium-arm.cc Wed Jan 29 13:41:00 2014 UTC +++ /branches/bleeding_edge/src/arm/lithium-arm.cc Wed Jan 29 13:44:50 2014 UTC
@@ -1703,12 +1703,6 @@
   LOperand* map = UseRegisterAtStart(instr->value());
   return DefineAsRegister(new(zone()) LMapEnumLength(map));
 }
-
-
-LInstruction* LChunkBuilder::DoElementsKind(HElementsKind* instr) {
-  LOperand* object = UseRegisterAtStart(instr->value());
-  return DefineAsRegister(new(zone()) LElementsKind(object));
-}


 LInstruction* LChunkBuilder::DoDateField(HDateField* instr) {
=======================================
--- /branches/bleeding_edge/src/arm/lithium-arm.h Wed Jan 29 13:41:00 2014 UTC +++ /branches/bleeding_edge/src/arm/lithium-arm.h Wed Jan 29 13:44:50 2014 UTC
@@ -91,7 +91,6 @@
   V(Drop)                                       \
   V(Dummy)                                      \
   V(DummyUse)                                   \
-  V(ElementsKind)                               \
   V(ForInCacheArray)                            \
   V(ForInPrepareMap)                            \
   V(FunctionLiteral)                            \
@@ -1294,19 +1293,6 @@
 };


-class LElementsKind V8_FINAL : public LTemplateInstruction<1, 1, 0> {
- public:
-  explicit LElementsKind(LOperand* value) {
-    inputs_[0] = value;
-  }
-
-  LOperand* value() { return inputs_[0]; }
-
-  DECLARE_CONCRETE_INSTRUCTION(ElementsKind, "elements-kind")
-  DECLARE_HYDROGEN_ACCESSOR(ElementsKind)
-};
-
-
 class LDateField V8_FINAL : public LTemplateInstruction<1, 1, 1> {
  public:
   LDateField(LOperand* date, LOperand* temp, Smi* index) : index_(index) {
=======================================
--- /branches/bleeding_edge/src/arm/lithium-codegen-arm.cc Wed Jan 29 13:41:00 2014 UTC +++ /branches/bleeding_edge/src/arm/lithium-codegen-arm.cc Wed Jan 29 13:44:50 2014 UTC
@@ -1862,20 +1862,6 @@
   Register map = ToRegister(instr->value());
   __ EnumLength(result, map);
 }
-
-
-void LCodeGen::DoElementsKind(LElementsKind* instr) {
-  Register result = ToRegister(instr->result());
-  Register input = ToRegister(instr->value());
-
-  // Load map into |result|.
-  __ ldr(result, FieldMemOperand(input, HeapObject::kMapOffset));
- // Load the map's "bit field 2" into |result|. We only need the first byte,
-  // but the following bit field extraction takes care of that anyway.
-  __ ldr(result, FieldMemOperand(result, Map::kBitField2Offset));
-  // Retrieve elements_kind from bit field 2.
- __ ubfx(result, result, Map::kElementsKindShift, Map::kElementsKindBitCount);
-}


 void LCodeGen::DoDateField(LDateField* instr) {
=======================================
--- /branches/bleeding_edge/src/hydrogen-instructions.h Wed Jan 29 13:41:00 2014 UTC +++ /branches/bleeding_edge/src/hydrogen-instructions.h Wed Jan 29 13:44:50 2014 UTC
@@ -109,7 +109,6 @@
   V(Deoptimize)                                \
   V(Div)                                       \
   V(DummyUse)                                  \
-  V(ElementsKind)                              \
   V(EnterInlined)                              \
   V(EnvironmentMarker)                         \
   V(ForceRepresentation)                       \
@@ -2538,28 +2537,6 @@
 };


-class HElementsKind V8_FINAL : public HUnaryOperation {
- public:
-  explicit HElementsKind(HValue* value) : HUnaryOperation(value) {
-    set_representation(Representation::Integer32());
-    SetFlag(kUseGVN);
-    SetGVNFlag(kDependsOnElementsKind);
-  }
-
- virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE {
-    return Representation::Tagged();
-  }
-
-  DECLARE_CONCRETE_INSTRUCTION(ElementsKind)
-
- protected:
-  virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; }
-
- private:
-  virtual bool IsDeletable() const V8_OVERRIDE { return true; }
-};
-
-
 class HUnaryMathOperation V8_FINAL : public HTemplateInstruction<2> {
  public:
   static HInstruction* New(Zone* zone,
=======================================
--- /branches/bleeding_edge/src/ia32/lithium-codegen-ia32.cc Wed Jan 29 13:41:00 2014 UTC +++ /branches/bleeding_edge/src/ia32/lithium-codegen-ia32.cc Wed Jan 29 13:44:50 2014 UTC
@@ -1966,21 +1966,6 @@
   Register map = ToRegister(instr->value());
   __ EnumLength(result, map);
 }
-
-
-void LCodeGen::DoElementsKind(LElementsKind* instr) {
-  Register result = ToRegister(instr->result());
-  Register input = ToRegister(instr->value());
-
-  // Load map into |result|.
-  __ mov(result, FieldOperand(input, HeapObject::kMapOffset));
- // Load the map's "bit field 2" into |result|. We only need the first byte,
-  // but the following masking takes care of that anyway.
-  __ mov(result, FieldOperand(result, Map::kBitField2Offset));
-  // Retrieve elements_kind from bit field 2.
-  __ and_(result, Map::kElementsKindMask);
-  __ shr(result, Map::kElementsKindShift);
-}


 void LCodeGen::DoDateField(LDateField* instr) {
=======================================
--- /branches/bleeding_edge/src/ia32/lithium-ia32.cc Wed Jan 29 13:41:00 2014 UTC +++ /branches/bleeding_edge/src/ia32/lithium-ia32.cc Wed Jan 29 13:44:50 2014 UTC
@@ -1695,12 +1695,6 @@
   LOperand* map = UseRegisterAtStart(instr->value());
   return DefineAsRegister(new(zone()) LMapEnumLength(map));
 }
-
-
-LInstruction* LChunkBuilder::DoElementsKind(HElementsKind* instr) {
-  LOperand* object = UseRegisterAtStart(instr->value());
-  return DefineAsRegister(new(zone()) LElementsKind(object));
-}


 LInstruction* LChunkBuilder::DoDateField(HDateField* instr) {
=======================================
--- /branches/bleeding_edge/src/ia32/lithium-ia32.h Wed Jan 29 13:41:00 2014 UTC +++ /branches/bleeding_edge/src/ia32/lithium-ia32.h Wed Jan 29 13:44:50 2014 UTC
@@ -93,7 +93,6 @@
   V(Drop)                                       \
   V(Dummy)                                      \
   V(DummyUse)                                   \
-  V(ElementsKind)                               \
   V(ForInCacheArray)                            \
   V(ForInPrepareMap)                            \
   V(FunctionLiteral)                            \
@@ -1267,19 +1266,6 @@
 };


-class LElementsKind V8_FINAL : public LTemplateInstruction<1, 1, 0> {
- public:
-  explicit LElementsKind(LOperand* value) {
-    inputs_[0] = value;
-  }
-
-  LOperand* value() { return inputs_[0]; }
-
-  DECLARE_CONCRETE_INSTRUCTION(ElementsKind, "elements-kind")
-  DECLARE_HYDROGEN_ACCESSOR(ElementsKind)
-};
-
-
 class LDateField V8_FINAL : public LTemplateInstruction<1, 1, 1> {
  public:
   LDateField(LOperand* date, LOperand* temp, Smi* index)
=======================================
--- /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Wed Jan 29 13:10:35 2014 UTC +++ /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Wed Jan 29 13:44:50 2014 UTC
@@ -1649,20 +1649,6 @@
   Register map = ToRegister(instr->value());
   __ EnumLength(result, map);
 }
-
-
-void LCodeGen::DoElementsKind(LElementsKind* instr) {
-  Register result = ToRegister(instr->result());
-  Register input = ToRegister(instr->value());
-
-  // Load map into |result|.
-  __ lw(result, FieldMemOperand(input, HeapObject::kMapOffset));
- // Load the map's "bit field 2" into |result|. We only need the first byte,
-  // but the following bit field extraction takes care of that anyway.
-  __ lbu(result, FieldMemOperand(result, Map::kBitField2Offset));
-  // Retrieve elements_kind from bit field 2.
- __ Ext(result, result, Map::kElementsKindShift, Map::kElementsKindBitCount);
-}


 void LCodeGen::DoValueOf(LValueOf* instr) {
=======================================
--- /branches/bleeding_edge/src/mips/lithium-mips.cc Wed Jan 29 13:41:00 2014 UTC +++ /branches/bleeding_edge/src/mips/lithium-mips.cc Wed Jan 29 13:44:50 2014 UTC
@@ -1631,12 +1631,6 @@
   LOperand* map = UseRegisterAtStart(instr->value());
   return DefineAsRegister(new(zone()) LMapEnumLength(map));
 }
-
-
-LInstruction* LChunkBuilder::DoElementsKind(HElementsKind* instr) {
-  LOperand* object = UseRegisterAtStart(instr->value());
-  return DefineAsRegister(new(zone()) LElementsKind(object));
-}


 LInstruction* LChunkBuilder::DoDateField(HDateField* instr) {
=======================================
--- /branches/bleeding_edge/src/mips/lithium-mips.h Wed Jan 29 13:41:00 2014 UTC +++ /branches/bleeding_edge/src/mips/lithium-mips.h Wed Jan 29 13:44:50 2014 UTC
@@ -91,7 +91,6 @@
   V(Drop)                                       \
   V(Dummy)                                      \
   V(DummyUse)                                   \
-  V(ElementsKind)                               \
   V(ForInCacheArray)                            \
   V(ForInPrepareMap)                            \
   V(FunctionLiteral)                            \
@@ -1274,19 +1273,6 @@
 };


-class LElementsKind V8_FINAL : public LTemplateInstruction<1, 1, 0> {
- public:
-  explicit LElementsKind(LOperand* value) {
-    inputs_[0] = value;
-  }
-
-  LOperand* value() { return inputs_[0]; }
-
-  DECLARE_CONCRETE_INSTRUCTION(ElementsKind, "elements-kind")
-  DECLARE_HYDROGEN_ACCESSOR(ElementsKind)
-};
-
-
 class LDateField V8_FINAL : public LTemplateInstruction<1, 1, 1> {
  public:
   LDateField(LOperand* date, LOperand* temp, Smi* index) : index_(index) {
=======================================
--- /branches/bleeding_edge/src/x64/lithium-codegen-x64.cc Wed Jan 29 13:41:00 2014 UTC +++ /branches/bleeding_edge/src/x64/lithium-codegen-x64.cc Wed Jan 29 13:44:50 2014 UTC
@@ -1572,20 +1572,6 @@
   Register map = ToRegister(instr->value());
   __ EnumLength(result, map);
 }
-
-
-void LCodeGen::DoElementsKind(LElementsKind* instr) {
-  Register result = ToRegister(instr->result());
-  Register input = ToRegister(instr->value());
-
-  // Load map into |result|.
-  __ movp(result, FieldOperand(input, HeapObject::kMapOffset));
- // Load the map's "bit field 2" into |result|. We only need the first byte.
-  __ movzxbq(result, FieldOperand(result, Map::kBitField2Offset));
-  // Retrieve elements_kind from bit field 2.
-  __ and_(result, Immediate(Map::kElementsKindMask));
-  __ shr(result, Immediate(Map::kElementsKindShift));
-}


 void LCodeGen::DoDateField(LDateField* instr) {
=======================================
--- /branches/bleeding_edge/src/x64/lithium-x64.cc Wed Jan 29 13:41:00 2014 UTC +++ /branches/bleeding_edge/src/x64/lithium-x64.cc Wed Jan 29 13:44:50 2014 UTC
@@ -1604,12 +1604,6 @@
   LOperand* map = UseRegisterAtStart(instr->value());
   return DefineAsRegister(new(zone()) LMapEnumLength(map));
 }
-
-
-LInstruction* LChunkBuilder::DoElementsKind(HElementsKind* instr) {
-  LOperand* object = UseRegisterAtStart(instr->value());
-  return DefineAsRegister(new(zone()) LElementsKind(object));
-}


 LInstruction* LChunkBuilder::DoDateField(HDateField* instr) {
=======================================
--- /branches/bleeding_edge/src/x64/lithium-x64.h Wed Jan 29 13:41:00 2014 UTC +++ /branches/bleeding_edge/src/x64/lithium-x64.h Wed Jan 29 13:44:50 2014 UTC
@@ -91,7 +91,6 @@
   V(Drop)                                       \
   V(DummyUse)                                   \
   V(Dummy)                                      \
-  V(ElementsKind)                               \
   V(ForInCacheArray)                            \
   V(ForInPrepareMap)                            \
   V(FunctionLiteral)                            \
@@ -1235,19 +1234,6 @@
 };


-class LElementsKind V8_FINAL : public LTemplateInstruction<1, 1, 0> {
- public:
-  explicit LElementsKind(LOperand* value) {
-    inputs_[0] = value;
-  }
-
-  LOperand* value() { return inputs_[0]; }
-
-  DECLARE_CONCRETE_INSTRUCTION(ElementsKind, "elements-kind")
-  DECLARE_HYDROGEN_ACCESSOR(ElementsKind)
-};
-
-
 class LDateField V8_FINAL : public LTemplateInstruction<1, 1, 0> {
  public:
   LDateField(LOperand* date, Smi* index) : index_(index) {

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to