Skip to content

Commit c6ec2b4

Browse files
targosBethGriggs
authored andcommitted
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 e6b84df commit c6ec2b4

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

common.gypi

Lines changed: 1 addition & 1 deletion
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.15',
39+
'v8_embedder_string': '-node.16',
4040

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

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,8 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst_addr,
203203
void LiftoffAssembler::Load(LiftoffRegister dst, Register src_addr,
204204
Register offset_reg, uintptr_t offset_imm,
205205
LoadType type, LiftoffRegList pinned,
206-
uint32_t* protected_load_pc, bool is_load_mem) {
206+
uint32_t* protected_load_pc, bool is_load_mem,
207+
bool i64_offset) {
207208
bailout(kUnsupportedArchitecture, "Load");
208209
}
209210

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,11 +279,17 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst_addr,
279279
void LiftoffAssembler::Load(LiftoffRegister dst, Register src_addr,
280280
Register offset_reg, uintptr_t offset_imm,
281281
LoadType type, LiftoffRegList pinned,
282-
uint32_t* protected_load_pc, bool is_load_mem) {
282+
uint32_t* protected_load_pc, bool is_load_mem,
283+
bool i64_offset) {
283284
UseScratchRegisterScope temps(this);
284285
if (!is_int20(offset_imm)) {
285286
mov(ip, Operand(offset_imm));
286287
if (offset_reg != no_reg) {
288+
if (!i64_offset) {
289+
// Clear the upper 32 bits of the 64 bit offset register.
290+
llgfr(r0, offset_reg);
291+
offset_reg = r0;
292+
}
287293
AddS64(ip, offset_reg);
288294
}
289295
offset_reg = ip;

0 commit comments

Comments
 (0)