1344477 - Part 2: Optimize Array.prototype.splice with JSOP_NORVCALL.

This commit is contained in:
Gaming4JC 2019-07-14 19:04:52 -04:00 • committed by Roy Tam
commit 4f51cc381d
16 changed files with 28 additions and 149 deletions

View file

@ -4186,27 +4186,6 @@ class MCallDOMNative : public MCall
virtual void computeMovable() override;
};
// arr.splice(start, deleteCount) with unused return value.
class MArraySplice
: public MTernaryInstruction,
public Mix3Policy<ObjectPolicy<0>, IntPolicy<1>, IntPolicy<2> >::Data
{
private:
MArraySplice(MDefinition* object, MDefinition* start, MDefinition* deleteCount)
: MTernaryInstruction(object, start, deleteCount)
{ }
public:
INSTRUCTION_HEADER(ArraySplice)
TRIVIAL_NEW_WRAPPERS
NAMED_OPERANDS((0, object), (1, start), (2, deleteCount))
bool possiblyCalls() const override {
return true;
}
};
// fun.apply(self, arguments)
class MApplyArgs
: public MAryInstruction<3>,