| 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)
|
| };
|
|
|
|
|
|
|