[CSA] Load<T> requires IntPtrAdd for offset

Fix for a bug introduced in
https://chromium-review.googlesource.com/c/v8/v8/+/1977863

Change-Id: I4dbf259899005bb3b317bc5e8222d19c16abede4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1993284
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65665}
This commit is contained in:
Santiago Aboy Solanes 2020-01-09 14:31:51 +00:00 committed by Commit Bot
parent 3d989b29ac
commit c31c77a3c7

View File

@ -2303,14 +2303,11 @@ TNode<BigInt> CodeStubAssembler::LoadFixedBigUint64ArrayElementAsTagged(
#if defined(V8_TARGET_BIG_ENDIAN)
TNode<UintPtrT> high = Load<UintPtrT>(data_pointer, offset);
TNode<UintPtrT> low = Load<UintPtrT>(
data_pointer, Int32Add(TruncateIntPtrToInt32(offset),
Int32Constant(kSystemPointerSize)));
data_pointer, IntPtrAdd(offset, IntPtrConstant(kSystemPointerSize)));
#else
TNode<UintPtrT> low = Load<UintPtrT>(data_pointer, offset);
TNode<UintPtrT> high = UncheckedCast<UintPtrT>(
Load(MachineType::UintPtr(), data_pointer,
Int32Add(TruncateIntPtrToInt32(offset),
Int32Constant(kSystemPointerSize))));
TNode<UintPtrT> high = Load<UintPtrT>(
data_pointer, IntPtrAdd(offset, IntPtrConstant(kSystemPointerSize)));
#endif
return BigIntFromUint32Pair(low, high);
}