Index: src/hydrogen-instructions.h |
=================================================================== |
--- src/hydrogen-instructions.h (revision 7333) |
+++ src/hydrogen-instructions.h (working copy) |
@@ -1407,8 +1407,9 @@ |
// object. It is guaranteed to be 32 bit integer, but it can be |
// represented as either a smi or heap number. |
set_representation(Representation::Tagged()); |
+ SetFlag(kUseGVN); |
SetFlag(kDependsOnArrayLengths); |
- SetFlag(kUseGVN); |
+ SetFlag(kDependsOnMaps); |
} |
virtual Representation RequiredInputRepresentation(int index) const { |
@@ -1426,8 +1427,8 @@ |
public: |
explicit HFixedArrayLength(HValue* value) : HUnaryOperation(value) { |
set_representation(Representation::Tagged()); |
+ SetFlag(kUseGVN); |
SetFlag(kDependsOnArrayLengths); |
- SetFlag(kUseGVN); |
} |
virtual Representation RequiredInputRepresentation(int index) const { |
@@ -2257,6 +2258,7 @@ |
: HBinaryOperation(left, right) { |
set_representation(Representation::Tagged()); |
SetFlag(kUseGVN); |
+ SetFlag(kDependsOnMaps); |
} |
virtual bool EmitAtUses() { |
@@ -2942,6 +2944,7 @@ |
offset_(offset) { |
set_representation(Representation::Tagged()); |
SetFlag(kUseGVN); |
+ SetFlag(kDependsOnMaps); |
if (is_in_object) { |
SetFlag(kDependsOnInobjectFields); |
} else { |
@@ -3268,6 +3271,7 @@ |
: HBinaryOperation(string, index) { |
set_representation(Representation::Integer32()); |
SetFlag(kUseGVN); |
+ SetFlag(kDependsOnMaps); |
} |
virtual Representation RequiredInputRepresentation(int index) const { |
@@ -3312,6 +3316,7 @@ |
explicit HStringLength(HValue* string) : HUnaryOperation(string) { |
set_representation(Representation::Tagged()); |
SetFlag(kUseGVN); |
+ SetFlag(kDependsOnMaps); |
} |
virtual Representation RequiredInputRepresentation(int index) const { |