Commit b597d6fa authored by Santiago Aboy Solanes's avatar Santiago Aboy Solanes Committed by Commit Bot

[turbofan] Better typing of OSR context pointer

The Osr context is a pointer, and we can make it clear in the Typer.

Known pitfall: If we have a context within a context, the innner context
pointer is typed as Any.

Change-Id: Ia4d7e43ef42ef03f835e4b71d32d117ae835feee
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1741659Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63153}
parent bc68618c
......@@ -787,7 +787,13 @@ Type Typer::Visitor::TypeParameter(Node* node) {
return Type::NonInternal();
}
Type Typer::Visitor::TypeOsrValue(Node* node) { return Type::Any(); }
Type Typer::Visitor::TypeOsrValue(Node* node) {
if (OsrValueIndexOf(node->op()) == Linkage::kOsrContextSpillSlotIndex) {
return Type::OtherInternal();
} else {
return Type::Any();
}
}
Type Typer::Visitor::TypeRetain(Node* node) { UNREACHABLE(); }
......
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