Fix CSA_CHECK failure on BE

The load for external reference should be a full pointer load
instead of tagged size.

Change-Id: I3460a26abea5053ba6daa5c6ed908cb93431654a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3842348
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/main@{#82625}
This commit is contained in:
Junliang Yan 2022-08-19 09:47:52 -04:00 committed by V8 LUCI CQ
parent 76651622fd
commit c060af4db3

View File

@ -732,7 +732,9 @@ TNode<HeapObject> RegExpBuiltinsAssembler::RegExpExecInternal(
TNode<ExternalReference> pending_exception_address =
ExternalConstant(ExternalReference::Create(
IsolateAddressId::kPendingExceptionAddress, isolate()));
CSA_DCHECK(this, IsTheHole(Load<Object>(pending_exception_address)));
TNode<Object> pending_exception = ReinterpretCast<Object>(
Load(MachineType::Pointer(), pending_exception_address));
CSA_DCHECK(this, IsTheHole(pending_exception));
#endif // DEBUG
CallRuntime(Runtime::kThrowStackOverflow, context);
Unreachable();