Skip to content

Commit 142ce68

Browse files
committed
deps: V8: cherry-pick 3805a698f7b6
Original commit message: PPC/s390: [wasm][liftoff] Always zero-extend 32 bit offsets Port 2b77ca200c56667c68895e49c96c10ff77834f09 Original Commit Message: The upper 32 bits of the 64 bit offset register are not guaranteed to be cleared, so a zero-extension is needed. We already do the zero-extension in the case of explicit bounds checking, but this should also be done if the trap handler is enabled. [email protected], [email protected], [email protected], [email protected] BUG= LOG=N Change-Id: Ife3ae4f93b85fe1b2c76fe4b98fa408b5b51ed71 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2929661 Reviewed-by: Junliang Yan <[email protected]> Commit-Queue: Milad Fa <[email protected]> Cr-Commit-Position: refs/heads/master@{#74886} Refs: v8/v8@3805a69 PR-URL: #39337 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent 2657c30 commit 142ce68

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

Diff for: common.gypi

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
# Reset this number to 0 on major V8 upgrades.
3838
# Increment by one for each non-official patch applied to deps/v8.
39-
'v8_embedder_string': '-node.17',
39+
'v8_embedder_string': '-node.18',
4040

4141
##### V8 defaults for Node.js #####
4242

Diff for: deps/v8/src/wasm/baseline/ppc/liftoff-assembler-ppc.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,8 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst_addr,
137137
void LiftoffAssembler::Load(LiftoffRegister dst, Register src_addr,
138138
Register offset_reg, uintptr_t offset_imm,
139139
LoadType type, LiftoffRegList pinned,
140-
uint32_t* protected_load_pc, bool is_load_mem) {
140+
uint32_t* protected_load_pc, bool is_load_mem,
141+
bool i64_offset) {
141142
bailout(kUnsupportedArchitecture, "Load");
142143
}
143144

Diff for: deps/v8/src/wasm/baseline/s390/liftoff-assembler-s390.h

+7-1
Original file line numberDiff line numberDiff line change
@@ -277,11 +277,17 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst_addr,
277277
void LiftoffAssembler::Load(LiftoffRegister dst, Register src_addr,
278278
Register offset_reg, uintptr_t offset_imm,
279279
LoadType type, LiftoffRegList pinned,
280-
uint32_t* protected_load_pc, bool is_load_mem) {
280+
uint32_t* protected_load_pc, bool is_load_mem,
281+
bool i64_offset) {
281282
UseScratchRegisterScope temps(this);
282283
if (!is_int20(offset_imm)) {
283284
mov(ip, Operand(offset_imm));
284285
if (offset_reg != no_reg) {
286+
if (!i64_offset) {
287+
// Clear the upper 32 bits of the 64 bit offset register.
288+
llgfr(r0, offset_reg);
289+
offset_reg = r0;
290+
}
285291
AddS64(ip, offset_reg);
286292
}
287293
offset_reg = ip;

0 commit comments

Comments
 (0)