Skip to content

Commit 56f6b10

Browse files
committed
deps: V8: cherry-pick 52eeb9d5a1f1
Original commit message: Fix Code accessors on big endian platforms https://crrev.com/c/4341976 has changed data size of Code::kFlags to 32 bits and Code::kKindSpecificFlags to 16 bits. Memory accessors need to be adjusted accordingly on big endian platforms. Bug: v8:13784 Change-Id: I0edbefedd74d65c974117acae6f37aa6cb1634ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4366778 Commit-Queue: Milad Farazmand <[email protected]> Reviewed-by: Junliang Yan <[email protected]> Reviewed-by: Clemens Backes <[email protected]> Cr-Commit-Position: refs/heads/main@{#86686} Refs: v8/v8@52eeb9d
1 parent bc468d3 commit 56f6b10

File tree

9 files changed

+8
-9
lines changed

9 files changed

+8
-9
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.3',
39+
'v8_embedder_string': '-node.4',
4040

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

deps/v8/src/builtins/ppc/builtins-ppc.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ static void AssertCodeIsBaseline(MacroAssembler* masm, Register code,
3939
Register scratch) {
4040
DCHECK(!AreAliased(code, scratch));
4141
// Verify that the code kind is baseline code via the CodeKind.
42-
__ LoadU16(scratch, FieldMemOperand(code, Code::kFlagsOffset));
42+
__ LoadU32(scratch, FieldMemOperand(code, Code::kFlagsOffset));
4343
__ DecodeField<Code::KindField>(scratch);
4444
__ CmpS64(scratch, Operand(static_cast<int>(CodeKind::BASELINE)), r0);
4545
__ Assert(eq, AbortReason::kExpectedBaselineData);

deps/v8/src/builtins/s390/builtins-s390.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ static void AssertCodeIsBaseline(MacroAssembler* masm, Register code,
4040
Register scratch) {
4141
DCHECK(!AreAliased(code, scratch));
4242
// Verify that the code kind is baseline code via the CodeKind.
43-
__ LoadU16(scratch, FieldMemOperand(code, Code::kFlagsOffset));
43+
__ LoadU32(scratch, FieldMemOperand(code, Code::kFlagsOffset));
4444
__ DecodeField<Code::KindField>(scratch);
4545
__ CmpS64(scratch, Operand(static_cast<int>(CodeKind::BASELINE)));
4646
__ Assert(eq, AbortReason::kExpectedBaselineData);

deps/v8/src/codegen/code-stub-assembler.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3173,7 +3173,7 @@ TNode<BytecodeArray> CodeStubAssembler::LoadSharedFunctionInfoBytecodeArray(
31733173
TNode<Code> code = CAST(var_result.value());
31743174
#ifdef DEBUG
31753175
TNode<Int32T> code_flags =
3176-
LoadObjectField<Int16T>(code, Code::kFlagsOffset);
3176+
LoadObjectField<Int32T>(code, Code::kFlagsOffset);
31773177
CSA_DCHECK(
31783178
this, Word32Equal(DecodeWord32<Code::KindField>(code_flags),
31793179
Int32Constant(static_cast<int>(CodeKind::BASELINE))));

deps/v8/src/codegen/ppc/macro-assembler-ppc.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ void MacroAssembler::Drop(Register count, Register scratch) {
365365
void MacroAssembler::TestCodeIsMarkedForDeoptimization(Register code,
366366
Register scratch1,
367367
Register scratch2) {
368-
LoadS32(scratch1, FieldMemOperand(code, Code::kKindSpecificFlagsOffset),
368+
LoadU16(scratch1, FieldMemOperand(code, Code::kKindSpecificFlagsOffset),
369369
scratch2);
370370
TestBit(scratch1, Code::kMarkedForDeoptimizationBit, scratch2);
371371
}

deps/v8/src/codegen/s390/macro-assembler-s390.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ void MacroAssembler::Drop(Register count, Register scratch) {
558558

559559
void MacroAssembler::TestCodeIsMarkedForDeoptimization(Register code,
560560
Register scratch) {
561-
LoadS32(scratch, FieldMemOperand(code, Code::kKindSpecificFlagsOffset));
561+
LoadU16(scratch, FieldMemOperand(code, Code::kKindSpecificFlagsOffset));
562562
TestBit(scratch, Code::kMarkedForDeoptimizationBit, scratch);
563563
}
564564

deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -800,7 +800,7 @@ void CodeGenerator::BailoutIfDeoptimized() {
800800
int offset = InstructionStream::kCodeOffset - InstructionStream::kHeaderSize;
801801
__ LoadTaggedField(r11, MemOperand(kJavaScriptCallCodeStartRegister, offset),
802802
r0);
803-
__ LoadS32(r11, FieldMemOperand(r11, Code::kKindSpecificFlagsOffset), r0);
803+
__ LoadU16(r11, FieldMemOperand(r11, Code::kKindSpecificFlagsOffset), r0);
804804
__ TestBit(r11, Code::kMarkedForDeoptimizationBit);
805805
__ Jump(BUILTIN_CODE(isolate(), CompileLazyDeoptimizedCode),
806806
RelocInfo::CODE_TARGET, ne, cr0);

deps/v8/src/compiler/backend/s390/code-generator-s390.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1138,7 +1138,7 @@ void CodeGenerator::BailoutIfDeoptimized() {
11381138
int offset = InstructionStream::kCodeOffset - InstructionStream::kHeaderSize;
11391139
__ LoadTaggedField(ip, MemOperand(kJavaScriptCallCodeStartRegister, offset),
11401140
r0);
1141-
__ LoadS32(ip, FieldMemOperand(ip, Code::kKindSpecificFlagsOffset));
1141+
__ LoadU16(ip, FieldMemOperand(ip, Code::kKindSpecificFlagsOffset));
11421142
__ TestBit(ip, Code::kMarkedForDeoptimizationBit);
11431143
__ Jump(BUILTIN_CODE(isolate(), CompileLazyDeoptimizedCode),
11441144
RelocInfo::CODE_TARGET, ne);

deps/v8/src/objects/code-inl.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1006,7 +1006,6 @@ void Code::initialize_flags(CodeKind kind, Builtin builtin_id,
10061006
StackSlotsField::encode(stack_slots);
10071007
static_assert(FIELD_SIZE(kFlagsOffset) == kInt32Size);
10081008
RELAXED_WRITE_UINT32_FIELD(*this, kFlagsOffset, value);
1009-
set_flags(value, kRelaxedStore);
10101009
DCHECK_IMPLIES(stack_slots != 0, uses_safepoint_table());
10111010
DCHECK_IMPLIES(!uses_safepoint_table(), stack_slots == 0);
10121011

0 commit comments

Comments
 (0)