Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 07bcd28

Browse filesBrowse files
Xiao-Taoaduh95
authored andcommitted
deps: V8: cherry-pick 7ef6a001762
Origin commit message: [loong64] Fix no pointer compression build 1. Fix a typo that breaks no static root build. 2. Use less scratch regs in some compare and branch functions. This bug is triggered by Node.js loong64 port. Change-Id: If251906cc07feca237c75f0b65517526085f61dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7031299 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/main@{#103105} Refs: v8/v8@7ef6a00 PR-URL: #60259 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
1 parent 4810e4b commit 07bcd28
Copy full SHA for 07bcd28

File tree

Expand file treeCollapse file tree

4 files changed

+22
-20
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

4 files changed

+22
-20
lines changed
Open diff view settings
Collapse file

‎common.gypi‎

Copy file name to clipboardExpand all lines: common.gypi
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
# Reset this number to 0 on major V8 upgrades.
4040
# Increment by one for each non-official patch applied to deps/v8.
41-
'v8_embedder_string': '-node.11',
41+
'v8_embedder_string': '-node.12',
4242

4343
##### V8 defaults for Node.js #####
4444

Collapse file

‎deps/v8/src/builtins/loong64/builtins-loong64.cc‎

Copy file name to clipboardExpand all lines: deps/v8/src/builtins/loong64/builtins-loong64.cc
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ static void GetSharedFunctionInfoBytecodeOrBaseline(
328328
if (v8_flags.debug_code) {
329329
Label not_baseline;
330330
__ GetObjectType(data, scratch1, scratch1);
331-
__ Branch(&not_baseline, ne, scratch1, Operand(CODETYPE));
331+
__ Branch(&not_baseline, ne, scratch1, Operand(CODE_TYPE));
332332
AssertCodeIsBaseline(masm, data, scratch1);
333333
__ Branch(is_baseline);
334334
__ bind(&not_baseline);
Collapse file

‎deps/v8/src/codegen/loong64/macro-assembler-loong64.cc‎

Copy file name to clipboardExpand all lines: deps/v8/src/codegen/loong64/macro-assembler-loong64.cc
+18-17Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2618,12 +2618,12 @@ int32_t MacroAssembler::GetOffset(Label* L, OffsetSize bits) {
26182618
}
26192619

26202620
Register MacroAssembler::GetRkAsRegisterHelper(const Operand& rk,
2621-
Register scratch) {
2621+
UseScratchRegisterScope temps) {
26222622
Register r2 = no_reg;
26232623
if (rk.is_reg()) {
26242624
r2 = rk.rm();
26252625
} else {
2626-
r2 = scratch;
2626+
r2 = temps.Acquire();
26272627
li(r2, rk);
26282628
}
26292629

@@ -2635,7 +2635,6 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond,
26352635
bool need_link) {
26362636
UseScratchRegisterScope temps(this);
26372637
BlockTrampolinePoolScope block_trampoline_pool(this);
2638-
Register scratch = temps.Acquire();
26392638
DCHECK_NE(rj, zero_reg);
26402639

26412640
// Be careful to always use shifted_branch_offset only just before the
@@ -2671,7 +2670,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond,
26712670
if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false;
26722671
if (need_link) pcaddi(ra, 2);
26732672
// We don't want any other register but scratch clobbered.
2674-
Register sc = GetRkAsRegisterHelper(rk, scratch);
2673+
Register sc = GetRkAsRegisterHelper(rk, temps);
26752674
offset = GetOffset(L, OffsetSize::kOffset16);
26762675
beq(rj, sc, offset);
26772676
}
@@ -2693,7 +2692,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond,
26932692
if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false;
26942693
if (need_link) pcaddi(ra, 2);
26952694
// We don't want any other register but scratch clobbered.
2696-
Register sc = GetRkAsRegisterHelper(rk, scratch);
2695+
Register sc = GetRkAsRegisterHelper(rk, temps);
26972696
offset = GetOffset(L, OffsetSize::kOffset16);
26982697
bne(rj, sc, offset);
26992698
}
@@ -2712,7 +2711,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond,
27122711
} else {
27132712
if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false;
27142713
if (need_link) pcaddi(ra, 2);
2715-
Register sc = GetRkAsRegisterHelper(rk, scratch);
2714+
Register sc = GetRkAsRegisterHelper(rk, temps);
27162715
DCHECK(rj != sc);
27172716
offset = GetOffset(L, OffsetSize::kOffset16);
27182717
blt(sc, rj, offset);
@@ -2733,7 +2732,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond,
27332732
} else {
27342733
if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false;
27352734
if (need_link) pcaddi(ra, 2);
2736-
Register sc = GetRkAsRegisterHelper(rk, scratch);
2735+
Register sc = GetRkAsRegisterHelper(rk, temps);
27372736
DCHECK(rj != sc);
27382737
offset = GetOffset(L, OffsetSize::kOffset16);
27392738
bge(rj, sc, offset);
@@ -2751,7 +2750,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond,
27512750
} else {
27522751
if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false;
27532752
if (need_link) pcaddi(ra, 2);
2754-
Register sc = GetRkAsRegisterHelper(rk, scratch);
2753+
Register sc = GetRkAsRegisterHelper(rk, temps);
27552754
DCHECK(rj != sc);
27562755
offset = GetOffset(L, OffsetSize::kOffset16);
27572756
blt(rj, sc, offset);
@@ -2772,7 +2771,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond,
27722771
} else {
27732772
if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false;
27742773
if (need_link) pcaddi(ra, 2);
2775-
Register sc = GetRkAsRegisterHelper(rk, scratch);
2774+
Register sc = GetRkAsRegisterHelper(rk, temps);
27762775
DCHECK(rj != sc);
27772776
offset = GetOffset(L, OffsetSize::kOffset16);
27782777
bge(sc, rj, offset);
@@ -2792,7 +2791,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond,
27922791
} else {
27932792
if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false;
27942793
if (need_link) pcaddi(ra, 2);
2795-
Register sc = GetRkAsRegisterHelper(rk, scratch);
2794+
Register sc = GetRkAsRegisterHelper(rk, temps);
27962795
DCHECK(rj != sc);
27972796
offset = GetOffset(L, OffsetSize::kOffset16);
27982797
bltu(sc, rj, offset);
@@ -2813,7 +2812,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond,
28132812
} else {
28142813
if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false;
28152814
if (need_link) pcaddi(ra, 2);
2816-
Register sc = GetRkAsRegisterHelper(rk, scratch);
2815+
Register sc = GetRkAsRegisterHelper(rk, temps);
28172816
DCHECK(rj != sc);
28182817
offset = GetOffset(L, OffsetSize::kOffset16);
28192818
bgeu(rj, sc, offset);
@@ -2828,7 +2827,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond,
28282827
} else {
28292828
if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false;
28302829
if (need_link) pcaddi(ra, 2);
2831-
Register sc = GetRkAsRegisterHelper(rk, scratch);
2830+
Register sc = GetRkAsRegisterHelper(rk, temps);
28322831
DCHECK(rj != sc);
28332832
offset = GetOffset(L, OffsetSize::kOffset16);
28342833
bltu(rj, sc, offset);
@@ -2848,7 +2847,7 @@ bool MacroAssembler::BranchShortOrFallback(Label* L, Condition cond,
28482847
} else {
28492848
if (L->is_bound() && !is_near(L, OffsetSize::kOffset16)) return false;
28502849
if (need_link) pcaddi(ra, 2);
2851-
Register sc = GetRkAsRegisterHelper(rk, scratch);
2850+
Register sc = GetRkAsRegisterHelper(rk, temps);
28522851
DCHECK(rj != sc);
28532852
offset = GetOffset(L, OffsetSize::kOffset16);
28542853
bgeu(sc, rj, offset);
@@ -3079,10 +3078,12 @@ void MacroAssembler::CompareTaggedRootAndBranch(const Register& obj,
30793078
// Some smi roots contain system pointer size values like stack limits.
30803079
DCHECK(base::IsInRange(index, RootIndex::kFirstStrongOrReadOnlyRoot,
30813080
RootIndex::kLastStrongOrReadOnlyRoot));
3082-
Register temp = temps.Acquire();
3083-
DCHECK(!AreAliased(obj, temp));
3084-
LoadRoot(temp, index);
3085-
CompareTaggedAndBranch(target, cc, obj, Operand(temp));
3081+
Register scratch1 = temps.Acquire();
3082+
Register scratch2 = temps.Acquire();
3083+
DCHECK(!AreAliased(obj, scratch1, scratch2));
3084+
slli_w(scratch1, obj, 0);
3085+
LoadTaggedRoot(scratch2, index);
3086+
Branch(target, cc, scratch1, Operand(scratch2));
30863087
}
30873088

30883089
// Compare the object in a register to a value from the root list.
Collapse file

‎deps/v8/src/codegen/loong64/macro-assembler-loong64.h‎

Copy file name to clipboardExpand all lines: deps/v8/src/codegen/loong64/macro-assembler-loong64.h
+2-1Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1286,7 +1286,8 @@ class V8_EXPORT_PRIVATE MacroAssembler : public MacroAssemblerBase {
12861286
}
12871287

12881288
protected:
1289-
inline Register GetRkAsRegisterHelper(const Operand& rk, Register scratch);
1289+
inline Register GetRkAsRegisterHelper(const Operand& rk,
1290+
UseScratchRegisterScope temps);
12901291
inline int32_t GetOffset(Label* L, OffsetSize bits);
12911292

12921293
private:

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.