[sparkplug] Fix no-PC Smi writes
StoreTaggedSignedField wasn't clearing the lower bits of a field when writing a 32-bit Smi Bug: v8:11420 Change-Id: I543a35001ca8a78490de2d09539b72f52749b198 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2775571 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#73546}
This commit is contained in:
parent
20189856cd
commit
5edeaf2fe8
@ -270,8 +270,8 @@ void TurboAssembler::StoreTaggedField(Operand dst_field_operand,
|
||||
void TurboAssembler::StoreTaggedSignedField(Operand dst_field_operand,
|
||||
Smi value) {
|
||||
if (SmiValuesAre32Bits()) {
|
||||
movl(Operand(dst_field_operand, kSmiShift / kBitsPerByte),
|
||||
Immediate(value.value()));
|
||||
Move(kScratchRegister, value);
|
||||
movq(dst_field_operand, kScratchRegister);
|
||||
} else {
|
||||
StoreTaggedField(dst_field_operand, Immediate(value));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user