Load parent_frame_type as an IntPtr in LowerArgumentsFrame
It was recently changed to Tagged in https://chromium-review.googlesource.com/c/v8/v8/+/1832174, but IntPtr is a better choice since we are doing an IntPtr equality check below. AnyTagged loads will decompress in the near future. Then, https://chromium-review.googlesource.com/c/v8/v8/+/1822637 needs this CL before submission since otherwise we will be decompressing a value that we don't need to decompress. Change-Id: Ifb44faaf84fd68e168c5f99b72c316aa1e5b9f13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847360 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64177}
This commit is contained in:
parent
ec87f7fd92
commit
06d0bcbeb3
@ -3529,12 +3529,8 @@ Node* EffectControlLinearizer::LowerArgumentsFrame(Node* node) {
|
||||
Node* parent_frame =
|
||||
__ Load(MachineType::Pointer(), frame,
|
||||
__ IntPtrConstant(StandardFrameConstants::kCallerFPOffset));
|
||||
// Load parent frame type as an uncompressed value to avoid corruption
|
||||
// in case it contains a frame type marker. Frame type marker is a pseudo-Smi
|
||||
// containing a StackFrame::Type value shifted left by kSmiTagSize (see
|
||||
// StackFrame::TypeToMarker() for details).
|
||||
Node* parent_frame_type = __ Load(
|
||||
MachineType::AnyTagged(), parent_frame,
|
||||
MachineType::IntPtr(), parent_frame,
|
||||
__ IntPtrConstant(CommonFrameConstants::kContextOrFrameTypeOffset));
|
||||
|
||||
__ GotoIf(__ IntPtrEqual(parent_frame_type,
|
||||
|
Loading…
Reference in New Issue
Block a user