Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 2d503ed

Browse files
felixonmarstargos
authored andcommittedAug 25, 2021
deps: V8: backport 239898ef8c77
Original commit message: [PATCH] [riscv64] Fix node.js build failed Change-Id: I0a614fa6c381770f56037f0401db008a37c71dca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2966209 Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn> Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn> Cr-Commit-Position: refs/heads/master@{#75199} Refs: v8/v8@239898e PR-URL: #39827 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
1 parent cee024a commit 2d503ed

File tree

4 files changed

+45
-45
lines changed

4 files changed

+45
-45
lines changed
 

‎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.20',
39+
'v8_embedder_string': '-node.21',
4040

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

‎deps/v8/src/codegen/riscv64/assembler-riscv64.cc

+7-7
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ static inline Instr SetJalrOffset(int32_t offset, Instr instr) {
461461
instr &= ~kImm12Mask;
462462
int32_t imm12 = offset << kImm12Shift;
463463
DCHECK(Assembler::IsJalr(instr | (imm12 & kImm12Mask)));
464-
DCHECK(Assembler::JalrOffset(instr | (imm12 & kImm12Mask)) == offset);
464+
DCHECK_EQ(Assembler::JalrOffset(instr | (imm12 & kImm12Mask)), offset);
465465
return instr | (imm12 & kImm12Mask);
466466
}
467467

@@ -702,7 +702,7 @@ int Assembler::BrachlongOffset(Instr auipc, Instr instr_I) {
702702
InstructionBase::kIType);
703703
DCHECK(IsAuipc(auipc));
704704
int32_t imm_auipc = AuipcOffset(auipc);
705-
int32_t imm12 = (instr_I & kImm12Mask) >> 20;
705+
int32_t imm12 = static_cast<int32_t>(instr_I & kImm12Mask) >> 20;
706706
int32_t offset = imm12 + imm_auipc;
707707
return offset;
708708
}
@@ -723,19 +723,19 @@ int Assembler::PatchBranchlongOffset(Address pc, Instr instr_auipc,
723723

724724
int Assembler::LdOffset(Instr instr) {
725725
DCHECK(IsLd(instr));
726-
int32_t imm12 = (instr & kImm12Mask) >> 20;
726+
int32_t imm12 = static_cast<int32_t>(instr & kImm12Mask) >> 20;
727727
return imm12;
728728
}
729729

730730
int Assembler::JalrOffset(Instr instr) {
731731
DCHECK(IsJalr(instr));
732-
int32_t imm12 = (instr & kImm12Mask) >> 20;
732+
int32_t imm12 = static_cast<int32_t>(instr & kImm12Mask) >> 20;
733733
return imm12;
734734
}
735735

736736
int Assembler::AuipcOffset(Instr instr) {
737737
DCHECK(IsAuipc(instr));
738-
int32_t imm20 = instr & kImm20Mask;
738+
int32_t imm20 = static_cast<int32_t>(instr & kImm20Mask);
739739
return imm20;
740740
}
741741
// We have to use a temporary register for things that can be relocated even
@@ -1277,7 +1277,7 @@ void Assembler::label_at_put(Label* L, int at_offset) {
12771277
DCHECK_EQ(imm18 & 3, 0);
12781278
int32_t imm16 = imm18 >> 2;
12791279
DCHECK(is_int16(imm16));
1280-
instr_at_put(at_offset, (imm16 & kImm16Mask));
1280+
instr_at_put(at_offset, (int32_t)(imm16 & kImm16Mask));
12811281
} else {
12821282
target_pos = kEndOfJumpChain;
12831283
instr_at_put(at_offset, target_pos);
@@ -2692,7 +2692,7 @@ void Assembler::GrowBuffer() {
26922692
reloc_info_writer.last_pc() + pc_delta);
26932693

26942694
// Relocate runtime entries.
2695-
Vector<byte> instructions{buffer_start_, pc_offset()};
2695+
Vector<byte> instructions{buffer_start_, static_cast<size_t>(pc_offset())};
26962696
Vector<const byte> reloc_info{reloc_info_writer.pos(), reloc_size};
26972697
for (RelocIterator it(instructions, reloc_info, 0); !it.done(); it.next()) {
26982698
RelocInfo::Mode rmode = it.rinfo()->rmode();

‎deps/v8/src/codegen/riscv64/constants-riscv64.h

+36-36
Original file line numberDiff line numberDiff line change
@@ -215,54 +215,54 @@ const int kRvcFunct6Shift = 10;
215215
const int kRvcFunct6Bits = 6;
216216

217217
// RISCV Instruction bit masks
218-
const int kBaseOpcodeMask = ((1 << kBaseOpcodeBits) - 1) << kBaseOpcodeShift;
219-
const int kFunct3Mask = ((1 << kFunct3Bits) - 1) << kFunct3Shift;
220-
const int kFunct5Mask = ((1 << kFunct5Bits) - 1) << kFunct5Shift;
221-
const int kFunct7Mask = ((1 << kFunct7Bits) - 1) << kFunct7Shift;
222-
const int kFunct2Mask = 0b11 << kFunct7Shift;
223-
const int kRTypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct7Mask;
224-
const int kRATypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct5Mask;
225-
const int kRFPTypeMask = kBaseOpcodeMask | kFunct7Mask;
226-
const int kR4TypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct2Mask;
227-
const int kITypeMask = kBaseOpcodeMask | kFunct3Mask;
228-
const int kSTypeMask = kBaseOpcodeMask | kFunct3Mask;
229-
const int kBTypeMask = kBaseOpcodeMask | kFunct3Mask;
230-
const int kUTypeMask = kBaseOpcodeMask;
231-
const int kJTypeMask = kBaseOpcodeMask;
232-
const int kRs1FieldMask = ((1 << kRs1Bits) - 1) << kRs1Shift;
233-
const int kRs2FieldMask = ((1 << kRs2Bits) - 1) << kRs2Shift;
234-
const int kRs3FieldMask = ((1 << kRs3Bits) - 1) << kRs3Shift;
235-
const int kRdFieldMask = ((1 << kRdBits) - 1) << kRdShift;
236-
const int kBImm12Mask = kFunct7Mask | kRdFieldMask;
237-
const int kImm20Mask = ((1 << kImm20Bits) - 1) << kImm20Shift;
238-
const int kImm12Mask = ((1 << kImm12Bits) - 1) << kImm12Shift;
239-
const int kImm11Mask = ((1 << kImm11Bits) - 1) << kImm11Shift;
240-
const int kImm31_12Mask = ((1 << 20) - 1) << 12;
241-
const int kImm19_0Mask = ((1 << 20) - 1);
242-
const int kRvcOpcodeMask =
218+
const uint32_t kBaseOpcodeMask = ((1 << kBaseOpcodeBits) - 1) << kBaseOpcodeShift;
219+
const uint32_t kFunct3Mask = ((1 << kFunct3Bits) - 1) << kFunct3Shift;
220+
const uint32_t kFunct5Mask = ((1 << kFunct5Bits) - 1) << kFunct5Shift;
221+
const uint32_t kFunct7Mask = ((1 << kFunct7Bits) - 1) << kFunct7Shift;
222+
const uint32_t kFunct2Mask = 0b11 << kFunct7Shift;
223+
const uint32_t kRTypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct7Mask;
224+
const uint32_t kRATypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct5Mask;
225+
const uint32_t kRFPTypeMask = kBaseOpcodeMask | kFunct7Mask;
226+
const uint32_t kR4TypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct2Mask;
227+
const uint32_t kITypeMask = kBaseOpcodeMask | kFunct3Mask;
228+
const uint32_t kSTypeMask = kBaseOpcodeMask | kFunct3Mask;
229+
const uint32_t kBTypeMask = kBaseOpcodeMask | kFunct3Mask;
230+
const uint32_t kUTypeMask = kBaseOpcodeMask;
231+
const uint32_t kJTypeMask = kBaseOpcodeMask;
232+
const uint32_t kRs1FieldMask = ((1 << kRs1Bits) - 1) << kRs1Shift;
233+
const uint32_t kRs2FieldMask = ((1 << kRs2Bits) - 1) << kRs2Shift;
234+
const uint32_t kRs3FieldMask = ((1 << kRs3Bits) - 1) << kRs3Shift;
235+
const uint32_t kRdFieldMask = ((1 << kRdBits) - 1) << kRdShift;
236+
const uint32_t kBImm12Mask = kFunct7Mask | kRdFieldMask;
237+
const uint32_t kImm20Mask = ((1 << kImm20Bits) - 1) << kImm20Shift;
238+
const uint32_t kImm12Mask = ((1 << kImm12Bits) - 1) << kImm12Shift;
239+
const uint32_t kImm11Mask = ((1 << kImm11Bits) - 1) << kImm11Shift;
240+
const uint32_t kImm31_12Mask = ((1 << 20) - 1) << 12;
241+
const uint32_t kImm19_0Mask = ((1 << 20) - 1);
242+
const uint32_t kRvcOpcodeMask =
243243
0b11 | (((1 << kRvcFunct3Bits) - 1) << kRvcFunct3Shift);
244-
const int kRvcFunct3Mask = (((1 << kRvcFunct3Bits) - 1) << kRvcFunct3Shift);
245-
const int kRvcFunct4Mask = (((1 << kRvcFunct4Bits) - 1) << kRvcFunct4Shift);
246-
const int kRvcFunct6Mask = (((1 << kRvcFunct6Bits) - 1) << kRvcFunct6Shift);
247-
const int kRvcFunct2Mask = (((1 << kRvcFunct2Bits) - 1) << kRvcFunct2Shift);
248-
const int kCRTypeMask = kRvcOpcodeMask | kRvcFunct4Mask;
249-
const int kCSTypeMask = kRvcOpcodeMask | kRvcFunct6Mask;
250-
const int kCATypeMask = kRvcOpcodeMask | kRvcFunct6Mask | kRvcFunct2Mask;
244+
const uint32_t kRvcFunct3Mask = (((1 << kRvcFunct3Bits) - 1) << kRvcFunct3Shift);
245+
const uint32_t kRvcFunct4Mask = (((1 << kRvcFunct4Bits) - 1) << kRvcFunct4Shift);
246+
const uint32_t kRvcFunct6Mask = (((1 << kRvcFunct6Bits) - 1) << kRvcFunct6Shift);
247+
const uint32_t kRvcFunct2Mask = (((1 << kRvcFunct2Bits) - 1) << kRvcFunct2Shift);
248+
const uint32_t kCRTypeMask = kRvcOpcodeMask | kRvcFunct4Mask;
249+
const uint32_t kCSTypeMask = kRvcOpcodeMask | kRvcFunct6Mask;
250+
const uint32_t kCATypeMask = kRvcOpcodeMask | kRvcFunct6Mask | kRvcFunct2Mask;
251251

252252
// RISCV CSR related bit mask and shift
253253
const int kFcsrFlagsBits = 5;
254-
const int kFcsrFlagsMask = (1 << kFcsrFlagsBits) - 1;
254+
const uint32_t kFcsrFlagsMask = (1 << kFcsrFlagsBits) - 1;
255255
const int kFcsrFrmBits = 3;
256256
const int kFcsrFrmShift = kFcsrFlagsBits;
257-
const int kFcsrFrmMask = ((1 << kFcsrFrmBits) - 1) << kFcsrFrmShift;
257+
const uint32_t kFcsrFrmMask = ((1 << kFcsrFrmBits) - 1) << kFcsrFrmShift;
258258
const int kFcsrBits = kFcsrFlagsBits + kFcsrFrmBits;
259-
const int kFcsrMask = kFcsrFlagsMask | kFcsrFrmMask;
259+
const uint32_t kFcsrMask = kFcsrFlagsMask | kFcsrFrmMask;
260260

261261
// Original MIPS constants
262262
// TODO(RISCV): to be cleaned up
263263
const int kImm16Shift = 0;
264264
const int kImm16Bits = 16;
265-
const int kImm16Mask = ((1 << kImm16Bits) - 1) << kImm16Shift;
265+
const uint32_t kImm16Mask = ((1 << kImm16Bits) - 1) << kImm16Shift;
266266
// end of TODO(RISCV): to be cleaned up
267267

268268
// ----- RISCV Base Opcodes

‎deps/v8/src/execution/riscv64/simulator-riscv64.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1842,7 +1842,7 @@ float Simulator::RoundF2FHelper(float input_val, int rmode) {
18421842
float rounded = 0;
18431843
switch (rmode) {
18441844
case RNE: { // Round to Nearest, tiest to Even
1845-
rounded = std::floorf(input_val);
1845+
rounded = floorf(input_val);
18461846
float error = input_val - rounded;
18471847

18481848
// Take care of correctly handling the range [-0.5, -0.0], which must

0 commit comments

Comments
 (0)