| 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 {
|
|
|