diff --git a/common.gypi b/common.gypi index 592c4e9294e05f..63301644b949f0 100644 --- a/common.gypi +++ b/common.gypi @@ -38,7 +38,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.10', + 'v8_embedder_string': '-node.11', ##### V8 defaults for Node.js ##### diff --git a/deps/v8/src/builtins/loong64/builtins-loong64.cc b/deps/v8/src/builtins/loong64/builtins-loong64.cc index f93e4911af5857..53c4a1c9afe9c8 100644 --- a/deps/v8/src/builtins/loong64/builtins-loong64.cc +++ b/deps/v8/src/builtins/loong64/builtins-loong64.cc @@ -328,7 +328,7 @@ static void GetSharedFunctionInfoBytecodeOrBaseline( if (v8_flags.debug_code) { Label not_baseline; __ GetObjectType(data, scratch1, scratch1); - __ Branch(¬_baseline, ne, scratch1, Operand(CODETYPE)); + __ Branch(¬_baseline, ne, scratch1, Operand(CODE_TYPE)); AssertCodeIsBaseline(masm, data, scratch1); __ Branch(is_baseline); __ bind(¬_baseline); diff --git a/deps/v8/src/codegen/loong64/macro-assembler-loong64.cc b/deps/v8/src/codegen/loong64/macro-assembler-loong64.cc index e5fb03c9401083..c0e1860f4b7f33 100644 --- a/deps/v8/src/codegen/loong64/macro-assembler-loong64.cc +++ b/deps/v8/src/codegen/loong64/macro-assembler-loong64.cc @@ -2618,12 +2618,12 @@ int32_t MacroAssembler::GetOffset(Label* L, OffsetSize bits) { } Register MacroAssembler::GetRkAsRegisterHelper(const Operand& rk, - Register scratch) { + UseScratchRegisterScope temps) { Register r2 = no_reg; if (rk.is_reg()) { r2 = rk.rm(); } else { - r2 = scratch; + r2 = temps.Acquire(); li(r2, rk); } @@ -2635,7 +2635,6 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond, bool need_link) { UseScratchRegisterScope temps(this); BlockTrampolinePoolScope block_trampoline_pool(this); - Register scratch = temps.Acquire(); DCHECK_NE(rj, zero_reg); // Be careful to always use shifted_branch_offset only just before the @@ -2671,7 +2670,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond, if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false; if (need_link) pcaddi(ra, 2); // We don't want any other register but scratch clobbered. - Register sc = GetRkAsRegisterHelper(rk, scratch); + Register sc = GetRkAsRegisterHelper(rk, temps); offset = GetOffset(L, OffsetSize::kOffset16); beq(rj, sc, offset); } @@ -2693,7 +2692,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond, if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false; if (need_link) pcaddi(ra, 2); // We don't want any other register but scratch clobbered. - Register sc = GetRkAsRegisterHelper(rk, scratch); + Register sc = GetRkAsRegisterHelper(rk, temps); offset = GetOffset(L, OffsetSize::kOffset16); bne(rj, sc, offset); } @@ -2712,7 +2711,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond, } else { if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false; if (need_link) pcaddi(ra, 2); - Register sc = GetRkAsRegisterHelper(rk, scratch); + Register sc = GetRkAsRegisterHelper(rk, temps); DCHECK(rj != sc); offset = GetOffset(L, OffsetSize::kOffset16); blt(sc, rj, offset); @@ -2733,7 +2732,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond, } else { if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false; if (need_link) pcaddi(ra, 2); - Register sc = GetRkAsRegisterHelper(rk, scratch); + Register sc = GetRkAsRegisterHelper(rk, temps); DCHECK(rj != sc); offset = GetOffset(L, OffsetSize::kOffset16); bge(rj, sc, offset); @@ -2751,7 +2750,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond, } else { if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false; if (need_link) pcaddi(ra, 2); - Register sc = GetRkAsRegisterHelper(rk, scratch); + Register sc = GetRkAsRegisterHelper(rk, temps); DCHECK(rj != sc); offset = GetOffset(L, OffsetSize::kOffset16); blt(rj, sc, offset); @@ -2772,7 +2771,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond, } else { if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false; if (need_link) pcaddi(ra, 2); - Register sc = GetRkAsRegisterHelper(rk, scratch); + Register sc = GetRkAsRegisterHelper(rk, temps); DCHECK(rj != sc); offset = GetOffset(L, OffsetSize::kOffset16); bge(sc, rj, offset); @@ -2792,7 +2791,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond, } else { if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false; if (need_link) pcaddi(ra, 2); - Register sc = GetRkAsRegisterHelper(rk, scratch); + Register sc = GetRkAsRegisterHelper(rk, temps); DCHECK(rj != sc); offset = GetOffset(L, OffsetSize::kOffset16); bltu(sc, rj, offset); @@ -2813,7 +2812,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond, } else { if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false; if (need_link) pcaddi(ra, 2); - Register sc = GetRkAsRegisterHelper(rk, scratch); + Register sc = GetRkAsRegisterHelper(rk, temps); DCHECK(rj != sc); offset = GetOffset(L, OffsetSize::kOffset16); bgeu(rj, sc, offset); @@ -2828,7 +2827,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond, } else { if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false; if (need_link) pcaddi(ra, 2); - Register sc = GetRkAsRegisterHelper(rk, scratch); + Register sc = GetRkAsRegisterHelper(rk, temps); DCHECK(rj != sc); offset = GetOffset(L, OffsetSize::kOffset16); bltu(rj, sc, offset); @@ -2848,7 +2847,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond, } else { if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false; if (need_link) pcaddi(ra, 2); - Register sc = GetRkAsRegisterHelper(rk, scratch); + Register sc = GetRkAsRegisterHelper(rk, temps); DCHECK(rj != sc); offset = GetOffset(L, OffsetSize::kOffset16); bgeu(sc, rj, offset); @@ -3079,10 +3078,12 @@ void MacroAssembler::CompareTaggedRootAndBranch(const Register& obj, // Some smi roots contain system pointer size values like stack limits. DCHECK(base::IsInRange(index, RootIndex::kFirstStrongOrReadOnlyRoot, RootIndex::kLastStrongOrReadOnlyRoot)); - Register temp = temps.Acquire(); - DCHECK(!AreAliased(obj, temp)); - LoadRoot(temp, index); - CompareTaggedAndBranch(target, cc, obj, Operand(temp)); + Register scratch1 = temps.Acquire(); + Register scratch2 = temps.Acquire(); + DCHECK(!AreAliased(obj, scratch1, scratch2)); + slli_w(scratch1, obj, 0); + LoadTaggedRoot(scratch2, index); + Branch(target, cc, scratch1, Operand(scratch2)); } // Compare the object in a register to a value from the root list. diff --git a/deps/v8/src/codegen/loong64/macro-assembler-loong64.h b/deps/v8/src/codegen/loong64/macro-assembler-loong64.h index e08ec7e30a8f68..0e352af469f0c8 100644 --- a/deps/v8/src/codegen/loong64/macro-assembler-loong64.h +++ b/deps/v8/src/codegen/loong64/macro-assembler-loong64.h @@ -1286,7 +1286,8 @@ class V8_EXPORT_PRIVATE MacroAssembler : public MacroAssemblerBase { } protected: - inline Register GetRkAsRegisterHelper(const Operand& rk, Register scratch); + inline Register GetRkAsRegisterHelper(const Operand& rk, + UseScratchRegisterScope temps); inline int32_t GetOffset(Label* L, OffsetSize bits); private: