Commit 1aac6a43 authored by Mike Stanton's avatar Mike Stanton Committed by Commit Bot

[TurboFan] Tracing inlining crashes when --concurrent-inlining is on.

This CL adjusts the tracing to print addresses of interesting
SharedFunctionInfos instead of dereferencing the handles to look
at the name.

Bug: v8:7790
Change-Id: I25d6f96728bd78d8a8becac6f2212f4f7a030c5c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622969Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61732}
parent 78ed3456
......@@ -373,10 +373,9 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
// Constructor must be constructable.
if (node->opcode() == IrOpcode::kJSConstruct &&
!IsConstructable(shared_info->kind())) {
TRACE(
"Not inlining " << shared_info->object().address() << " into "
<< info_->shared_info()->DebugName()->ToCString().get()
<< " because constructor is not constructable.");
TRACE("Not inlining " << shared_info->object().address() << " into "
<< info_->shared_info().address()
<< " because constructor is not constructable.");
return NoChange();
}
......@@ -384,10 +383,9 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
// See ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList ).
if (node->opcode() == IrOpcode::kJSCall &&
IsClassConstructor(shared_info->kind())) {
TRACE(
"Not inlining " << shared_info->object().address() << " into "
<< info_->shared_info()->DebugName()->ToCString().get()
<< " because callee is a class constructor.");
TRACE("Not inlining " << shared_info->object().address() << " into "
<< info_->shared_info().address()
<< " because callee is a class constructor.");
return NoChange();
}
......@@ -401,7 +399,7 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
if (nesting_level > kMaxDepthForInlining) {
TRACE("Not inlining "
<< shared_info->object().address() << " into "
<< info_->shared_info()->DebugName()->ToCString().get()
<< info_->shared_info().address()
<< " because call has exceeded the maximum depth for function "
"inlining.");
return NoChange();
......@@ -418,7 +416,7 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
<< exception_target->id() << ":" << exception_target->op()->mnemonic()
<< " and --no-inline-into-try active, so not inlining "
<< shared_info->object().address() << " into "
<< info_->shared_info()->DebugName()->ToCString().get());
<< info_->shared_info().address());
return NoChange();
}
......@@ -435,7 +433,7 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
}
TRACE("Inlining " << shared_info->object().address() << " into "
<< info_->shared_info()->DebugName()->ToCString().get()
<< info_->shared_info().address()
<< ((exception_target != nullptr) ? " (inside try-block)"
: ""));
// Determine the targets feedback vector and its context.
......@@ -445,8 +443,8 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
if (FLAG_concurrent_inlining) {
if (!shared_info.value().IsSerializedForCompilation(feedback_vector)) {
TRACE("Missed opportunity to inline a function ("
<< Brief(*shared_info.value().object()) << " with "
<< Brief(*feedback_vector.object()) << ")");
<< shared_info->object().address() << " with "
<< feedback_vector.object().address() << ")");
return NoChange();
}
}
......
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