Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index f3a353c5ea16a95a78d2ef9916994c7f96419bf9..388c079742facfc0b7ba38c4dbae1ff825eb6c6c 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -117,7 +117,6 @@ class LChunkBuilder; |
V(LoadContextSlot) \ |
V(LoadFieldByIndex) \ |
V(LoadFunctionPrototype) \ |
- V(LoadGlobalCell) \ |
V(LoadGlobalGeneric) \ |
V(LoadKeyed) \ |
V(LoadKeyedGeneric) \ |
@@ -146,7 +145,6 @@ class LChunkBuilder; |
V(StoreCodeEntry) \ |
V(StoreContextSlot) \ |
V(StoreFrameContext) \ |
- V(StoreGlobalCell) \ |
V(StoreKeyed) \ |
V(StoreKeyedGeneric) \ |
V(StoreNamedField) \ |
@@ -3501,7 +3499,7 @@ class HConstant FINAL : public HTemplateInstruction<0> { |
bool IsCell() const { |
InstanceType instance_type = GetInstanceType(); |
- return instance_type == CELL_TYPE || instance_type == PROPERTY_CELL_TYPE; |
+ return instance_type == CELL_TYPE; |
} |
Representation RequiredInputRepresentation(int index) OVERRIDE { |
@@ -5414,47 +5412,6 @@ class HUnknownOSRValue FINAL : public HTemplateInstruction<0> { |
}; |
-class HLoadGlobalCell FINAL : public HTemplateInstruction<0> { |
- public: |
- DECLARE_INSTRUCTION_FACTORY_P2(HLoadGlobalCell, Handle<Cell>, |
- PropertyDetails); |
- |
- Unique<Cell> cell() const { return cell_; } |
- // TODO(dcarney): remove this. |
- bool RequiresHoleCheck() const { return false; } |
- |
- std::ostream& PrintDataTo(std::ostream& os) const OVERRIDE; // NOLINT |
- |
- intptr_t Hashcode() OVERRIDE { return cell_.Hashcode(); } |
- |
- void FinalizeUniqueness() OVERRIDE { cell_ = Unique<Cell>(cell_.handle()); } |
- |
- Representation RequiredInputRepresentation(int index) OVERRIDE { |
- return Representation::None(); |
- } |
- |
- DECLARE_CONCRETE_INSTRUCTION(LoadGlobalCell) |
- |
- protected: |
- bool DataEquals(HValue* other) OVERRIDE { |
- return cell_ == HLoadGlobalCell::cast(other)->cell_; |
- } |
- |
- private: |
- HLoadGlobalCell(Handle<Cell> cell, PropertyDetails details) |
- : cell_(Unique<Cell>::CreateUninitialized(cell)), details_(details) { |
- set_representation(Representation::Tagged()); |
- SetFlag(kUseGVN); |
- SetDependsOnFlag(kGlobalVars); |
- } |
- |
- bool IsDeletable() const OVERRIDE { return true; } |
- |
- Unique<Cell> cell_; |
- PropertyDetails details_; |
-}; |
- |
- |
class HLoadGlobalGeneric FINAL : public HTemplateInstruction<2> { |
public: |
DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P3(HLoadGlobalGeneric, HValue*, |
@@ -5797,44 +5754,6 @@ inline PointersToHereCheck PointersToHereCheckForObject(HValue* object, |
} |
-class HStoreGlobalCell FINAL : public HUnaryOperation { |
- public: |
- DECLARE_INSTRUCTION_FACTORY_P3(HStoreGlobalCell, HValue*, |
- Handle<PropertyCell>, PropertyDetails); |
- |
- Unique<PropertyCell> cell() const { return cell_; } |
- // TODO(dcarney): remove |
- bool RequiresHoleCheck() const { return false; } |
- bool NeedsWriteBarrier() { |
- return StoringValueNeedsWriteBarrier(value()); |
- } |
- |
- void FinalizeUniqueness() OVERRIDE { |
- cell_ = Unique<PropertyCell>(cell_.handle()); |
- } |
- |
- Representation RequiredInputRepresentation(int index) OVERRIDE { |
- return Representation::Tagged(); |
- } |
- std::ostream& PrintDataTo(std::ostream& os) const OVERRIDE; // NOLINT |
- |
- DECLARE_CONCRETE_INSTRUCTION(StoreGlobalCell) |
- |
- private: |
- HStoreGlobalCell(HValue* value, |
- Handle<PropertyCell> cell, |
- PropertyDetails details) |
- : HUnaryOperation(value), |
- cell_(Unique<PropertyCell>::CreateUninitialized(cell)), |
- details_(details) { |
- SetChangesFlag(kGlobalVars); |
- } |
- |
- Unique<PropertyCell> cell_; |
- PropertyDetails details_; |
-}; |
- |
- |
class HLoadContextSlot FINAL : public HUnaryOperation { |
public: |
enum Mode { |
@@ -6925,14 +6844,6 @@ class HStoreNamedField FINAL : public HTemplateInstruction<3> { |
SetChangesFlag(kMaps); |
} |
- void MarkReceiverAsCell() { |
- bit_field_ = ReceiverIsCellField::update(bit_field_, true); |
- } |
- |
- bool receiver_is_cell() const { |
- return ReceiverIsCellField::decode(bit_field_); |
- } |
- |
bool NeedsWriteBarrier() const { |
DCHECK(!field_representation().IsDouble() || |
(FLAG_unbox_double_fields && access_.IsInobject()) || |
@@ -6941,7 +6852,6 @@ class HStoreNamedField FINAL : public HTemplateInstruction<3> { |
if (field_representation().IsSmi()) return false; |
if (field_representation().IsInteger32()) return false; |
if (field_representation().IsExternal()) return false; |
- if (receiver_is_cell()) return false; |
return StoringValueNeedsWriteBarrier(value()) && |
ReceiverObjectNeedsWriteBarrier(object(), value(), dominator()); |
} |
@@ -7001,7 +6911,6 @@ class HStoreNamedField FINAL : public HTemplateInstruction<3> { |
class HasTransitionField : public BitField<bool, 0, 1> {}; |
class StoreModeField : public BitField<StoreFieldOrKeyedMode, 1, 1> {}; |
- class ReceiverIsCellField : public BitField<bool, 2, 1> {}; |
HObjectAccess access_; |
HValue* dominator_; |