| Index: src/ia32/lithium-ia32.h
|
| ===================================================================
|
| --- src/ia32/lithium-ia32.h (revision 6124)
|
| +++ src/ia32/lithium-ia32.h (working copy)
|
| @@ -104,7 +104,6 @@
|
| // LStoreNamedField
|
| // LStoreNamedGeneric
|
| // LUnaryOperation
|
| -// LArrayLength
|
| // LBitNotI
|
| // LBranch
|
| // LCallNew
|
| @@ -117,6 +116,7 @@
|
| // LClassOfTestAndBranch
|
| // LDeleteProperty
|
| // LDoubleToI
|
| +// LFixedArrayLength
|
| // LHasCachedArrayIndex
|
| // LHasCachedArrayIndexAndBranch
|
| // LHasInstanceType
|
| @@ -128,6 +128,7 @@
|
| // LIsObjectAndBranch
|
| // LIsSmi
|
| // LIsSmiAndBranch
|
| +// LJSArrayLength
|
| // LLoadNamedField
|
| // LLoadNamedGeneric
|
| // LLoadFunctionPrototype
|
| @@ -165,7 +166,6 @@
|
| V(ArgumentsLength) \
|
| V(ArithmeticD) \
|
| V(ArithmeticT) \
|
| - V(ArrayLength) \
|
| V(ArrayLiteral) \
|
| V(BitI) \
|
| V(BitNotI) \
|
| @@ -204,6 +204,7 @@
|
| V(GlobalObject) \
|
| V(GlobalReceiver) \
|
| V(Goto) \
|
| + V(FixedArrayLength) \
|
| V(InstanceOf) \
|
| V(InstanceOfAndBranch) \
|
| V(Integer32ToDouble) \
|
| @@ -213,6 +214,7 @@
|
| V(IsObjectAndBranch) \
|
| V(IsSmi) \
|
| V(IsSmiAndBranch) \
|
| + V(JSArrayLength) \
|
| V(HasInstanceType) \
|
| V(HasInstanceTypeAndBranch) \
|
| V(HasCachedArrayIndex) \
|
| @@ -1148,18 +1150,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)
|
| };
|
|
|
|
|
|
|