Commit b32605ee authored by Tobias Tebbi's avatar Tobias Tebbi Committed by V8 LUCI CQ

[compiler] mark receiver and function as escaping, expanded to continuation frames

Bug: chromium:1315901
Change-Id: I99ed1562356676f54e69a832c8e862c1cf74fb07
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3585948Reviewed-by: 's avatarSamuel Groß <saelo@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#79984}
parent b6862242
......@@ -812,9 +812,14 @@ void ReduceNode(const Operator* op, EscapeAnalysisTracker::Scope* current,
// We mark the receiver as escaping due to the non-standard `.getThis`
// API.
FrameState frame_state{current->CurrentNode()};
if (frame_state.frame_state_info().type() !=
FrameStateType::kUnoptimizedFunction)
FrameStateType type = frame_state.frame_state_info().type();
// This needs to be kept in sync with the frame types supported in
// `OptimizedFrame::Summarize`.
if (type != FrameStateType::kUnoptimizedFunction &&
type != FrameStateType::kJavaScriptBuiltinContinuation &&
type != FrameStateType::kJavaScriptBuiltinContinuationWithCatch) {
break;
}
StateValuesAccess::iterator it =
StateValuesAccess(frame_state.parameters()).begin();
if (!it.done()) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment