Loading js/src/jit/CodeGenerator.cpp +4 −11 Original line number Diff line number Diff line Loading @@ -11606,11 +11606,9 @@ void CodeGenerator::visitSpectreMaskIndex(LSpectreMaskIndex* lir) { class OutOfLineStoreElementHole : public OutOfLineCodeBase<CodeGenerator> { LInstruction* ins_; Label rejoinStore_; bool strict_; public: explicit OutOfLineStoreElementHole(LInstruction* ins, bool strict) : ins_(ins), strict_(strict) { explicit OutOfLineStoreElementHole(LInstruction* ins) : ins_(ins) { MOZ_ASSERT(ins->isStoreElementHoleV() || ins->isStoreElementHoleT()); } Loading @@ -11624,7 +11622,6 @@ class OutOfLineStoreElementHole : public OutOfLineCodeBase<CodeGenerator> { } LInstruction* ins() const { return ins_; } Label* rejoinStore() { return &rejoinStore_; } bool strict() const { return strict_; } }; void CodeGenerator::emitStoreHoleCheck(Register elements, Loading Loading @@ -11705,8 +11702,7 @@ void CodeGenerator::visitStoreHoleValueElement(LStoreHoleValueElement* lir) { } void CodeGenerator::visitStoreElementHoleT(LStoreElementHoleT* lir) { OutOfLineStoreElementHole* ool = new (alloc()) OutOfLineStoreElementHole(lir, current->mir()->strict()); auto* ool = new (alloc()) OutOfLineStoreElementHole(lir); addOutOfLineCode(ool, lir->mir()); Register elements = ToRegister(lir->elements()); Loading @@ -11726,8 +11722,7 @@ void CodeGenerator::visitStoreElementHoleT(LStoreElementHoleT* lir) { } void CodeGenerator::visitStoreElementHoleV(LStoreElementHoleV* lir) { OutOfLineStoreElementHole* ool = new (alloc()) OutOfLineStoreElementHole(lir, current->mir()->strict()); auto* ool = new (alloc()) OutOfLineStoreElementHole(lir); addOutOfLineCode(ool, lir->mir()); Register elements = ToRegister(lir->elements()); Loading Loading @@ -11824,13 +11819,11 @@ void CodeGenerator::visitOutOfLineStoreElementHole( saveLive(ins); pushArg(Imm32(ool->strict())); pushArg(value.ref()); pushArg(index); pushArg(object); using Fn = bool (*)(JSContext*, Handle<NativeObject*>, int32_t, HandleValue, bool strict); using Fn = bool (*)(JSContext*, Handle<NativeObject*>, int32_t, HandleValue); callVM<Fn, jit::SetDenseElement>(ins); restoreLive(ins); Loading js/src/jit/MIRGraph.h +0 −2 Original line number Diff line number Diff line Loading @@ -556,8 +556,6 @@ class MBasicBlock : public TempObject, public InlineListNode<MBasicBlock> { void setLoopDepth(uint32_t loopDepth) { loopDepth_ = loopDepth; } uint32_t loopDepth() const { return loopDepth_; } bool strict() const { return info_.script()->strict(); } void dumpStack(GenericPrinter& out); void dumpStack(); Loading js/src/jit/VMFunctions.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -1294,7 +1294,7 @@ JSString* StringReplace(JSContext* cx, HandleString string, } bool SetDenseElement(JSContext* cx, Handle<NativeObject*> obj, int32_t index, HandleValue value, bool strict) { HandleValue value) { // This function is called from Ion code for StoreElementHole's OOL path. // In this case we know the object is native, extensible, and has no indexed // properties. Loading js/src/jit/VMFunctions.h +1 −2 Original line number Diff line number Diff line Loading @@ -502,8 +502,7 @@ JSString* StringReplace(JSContext* cx, HandleString string, HandleString pattern, HandleString repl); [[nodiscard]] bool SetDenseElement(JSContext* cx, Handle<NativeObject*> obj, int32_t index, HandleValue value, bool strict); int32_t index, HandleValue value); void AssertValidBigIntPtr(JSContext* cx, JS::BigInt* bi); void AssertValidObjectPtr(JSContext* cx, JSObject* obj); Loading Loading
js/src/jit/CodeGenerator.cpp +4 −11 Original line number Diff line number Diff line Loading @@ -11606,11 +11606,9 @@ void CodeGenerator::visitSpectreMaskIndex(LSpectreMaskIndex* lir) { class OutOfLineStoreElementHole : public OutOfLineCodeBase<CodeGenerator> { LInstruction* ins_; Label rejoinStore_; bool strict_; public: explicit OutOfLineStoreElementHole(LInstruction* ins, bool strict) : ins_(ins), strict_(strict) { explicit OutOfLineStoreElementHole(LInstruction* ins) : ins_(ins) { MOZ_ASSERT(ins->isStoreElementHoleV() || ins->isStoreElementHoleT()); } Loading @@ -11624,7 +11622,6 @@ class OutOfLineStoreElementHole : public OutOfLineCodeBase<CodeGenerator> { } LInstruction* ins() const { return ins_; } Label* rejoinStore() { return &rejoinStore_; } bool strict() const { return strict_; } }; void CodeGenerator::emitStoreHoleCheck(Register elements, Loading Loading @@ -11705,8 +11702,7 @@ void CodeGenerator::visitStoreHoleValueElement(LStoreHoleValueElement* lir) { } void CodeGenerator::visitStoreElementHoleT(LStoreElementHoleT* lir) { OutOfLineStoreElementHole* ool = new (alloc()) OutOfLineStoreElementHole(lir, current->mir()->strict()); auto* ool = new (alloc()) OutOfLineStoreElementHole(lir); addOutOfLineCode(ool, lir->mir()); Register elements = ToRegister(lir->elements()); Loading @@ -11726,8 +11722,7 @@ void CodeGenerator::visitStoreElementHoleT(LStoreElementHoleT* lir) { } void CodeGenerator::visitStoreElementHoleV(LStoreElementHoleV* lir) { OutOfLineStoreElementHole* ool = new (alloc()) OutOfLineStoreElementHole(lir, current->mir()->strict()); auto* ool = new (alloc()) OutOfLineStoreElementHole(lir); addOutOfLineCode(ool, lir->mir()); Register elements = ToRegister(lir->elements()); Loading Loading @@ -11824,13 +11819,11 @@ void CodeGenerator::visitOutOfLineStoreElementHole( saveLive(ins); pushArg(Imm32(ool->strict())); pushArg(value.ref()); pushArg(index); pushArg(object); using Fn = bool (*)(JSContext*, Handle<NativeObject*>, int32_t, HandleValue, bool strict); using Fn = bool (*)(JSContext*, Handle<NativeObject*>, int32_t, HandleValue); callVM<Fn, jit::SetDenseElement>(ins); restoreLive(ins); Loading
js/src/jit/MIRGraph.h +0 −2 Original line number Diff line number Diff line Loading @@ -556,8 +556,6 @@ class MBasicBlock : public TempObject, public InlineListNode<MBasicBlock> { void setLoopDepth(uint32_t loopDepth) { loopDepth_ = loopDepth; } uint32_t loopDepth() const { return loopDepth_; } bool strict() const { return info_.script()->strict(); } void dumpStack(GenericPrinter& out); void dumpStack(); Loading
js/src/jit/VMFunctions.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -1294,7 +1294,7 @@ JSString* StringReplace(JSContext* cx, HandleString string, } bool SetDenseElement(JSContext* cx, Handle<NativeObject*> obj, int32_t index, HandleValue value, bool strict) { HandleValue value) { // This function is called from Ion code for StoreElementHole's OOL path. // In this case we know the object is native, extensible, and has no indexed // properties. Loading
js/src/jit/VMFunctions.h +1 −2 Original line number Diff line number Diff line Loading @@ -502,8 +502,7 @@ JSString* StringReplace(JSContext* cx, HandleString string, HandleString pattern, HandleString repl); [[nodiscard]] bool SetDenseElement(JSContext* cx, Handle<NativeObject*> obj, int32_t index, HandleValue value, bool strict); int32_t index, HandleValue value); void AssertValidBigIntPtr(JSContext* cx, JS::BigInt* bi); void AssertValidObjectPtr(JSContext* cx, JSObject* obj); Loading