Index: src/arm/lithium-arm.h |
=================================================================== |
--- src/arm/lithium-arm.h (revision 6124) |
+++ src/arm/lithium-arm.h (working copy) |
@@ -101,7 +101,8 @@ |
// LStoreNamedField |
// LStoreNamedGeneric |
// LUnaryOperation |
-// LArrayLength |
+// LJSArrayLength |
+// LFixedArrayLength |
// LBitNotI |
// LBranch |
// LCallNew |
@@ -162,7 +163,6 @@ |
V(ArgumentsLength) \ |
V(ArithmeticD) \ |
V(ArithmeticT) \ |
- V(ArrayLength) \ |
V(ArrayLiteral) \ |
V(BitI) \ |
V(BitNotI) \ |
@@ -196,6 +196,7 @@ |
V(Deoptimize) \ |
V(DivI) \ |
V(DoubleToI) \ |
+ V(FixedArrayLength) \ |
V(FunctionLiteral) \ |
V(Gap) \ |
V(GlobalObject) \ |
@@ -210,6 +211,7 @@ |
V(IsObjectAndBranch) \ |
V(IsSmi) \ |
V(IsSmiAndBranch) \ |
+ V(JSArrayLength) \ |
V(HasInstanceType) \ |
V(HasInstanceTypeAndBranch) \ |
V(HasCachedArrayIndex) \ |
@@ -1143,18 +1145,21 @@ |
}; |
-class LArrayLength: public LUnaryOperation { |
+class LJSArrayLength: public LUnaryOperation { |
public: |
- LArrayLength(LOperand* input, LOperand* temporary) |
- : LUnaryOperation(input), temporary_(temporary) { } |
+ explicit LJSArrayLength(LOperand* input) : LUnaryOperation(input) { } |
- LOperand* temporary() const { return temporary_; } |
+ DECLARE_CONCRETE_INSTRUCTION(JSArrayLength, "js-array-length") |
+ DECLARE_HYDROGEN_ACCESSOR(JSArrayLength) |
+}; |
- DECLARE_CONCRETE_INSTRUCTION(ArrayLength, "array-length") |
- DECLARE_HYDROGEN_ACCESSOR(ArrayLength) |
- private: |
- LOperand* temporary_; |
+class LFixedArrayLength: public LUnaryOperation { |
+ public: |
+ explicit LFixedArrayLength(LOperand* input) : LUnaryOperation(input) { } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(FixedArrayLength, "fixed-array-length") |
+ DECLARE_HYDROGEN_ACCESSOR(FixedArrayLength) |
}; |