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,9 +373,8 @@ Reduction JSInliner::ReduceJSCall(Node* node) { ...@@ -373,9 +373,8 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
// Constructor must be constructable. // Constructor must be constructable.
if (node->opcode() == IrOpcode::kJSConstruct && if (node->opcode() == IrOpcode::kJSConstruct &&
!IsConstructable(shared_info->kind())) { !IsConstructable(shared_info->kind())) {
TRACE( TRACE("Not inlining " << shared_info->object().address() << " into "
"Not inlining " << shared_info->object().address() << " into " << info_->shared_info().address()
<< info_->shared_info()->DebugName()->ToCString().get()
<< " because constructor is not constructable."); << " because constructor is not constructable.");
return NoChange(); return NoChange();
} }
...@@ -384,9 +383,8 @@ Reduction JSInliner::ReduceJSCall(Node* node) { ...@@ -384,9 +383,8 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
// See ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList ). // See ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList ).
if (node->opcode() == IrOpcode::kJSCall && if (node->opcode() == IrOpcode::kJSCall &&
IsClassConstructor(shared_info->kind())) { IsClassConstructor(shared_info->kind())) {
TRACE( TRACE("Not inlining " << shared_info->object().address() << " into "
"Not inlining " << shared_info->object().address() << " into " << info_->shared_info().address()
<< info_->shared_info()->DebugName()->ToCString().get()
<< " because callee is a class constructor."); << " because callee is a class constructor.");
return NoChange(); return NoChange();
} }
...@@ -401,7 +399,7 @@ Reduction JSInliner::ReduceJSCall(Node* node) { ...@@ -401,7 +399,7 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
if (nesting_level > kMaxDepthForInlining) { if (nesting_level > kMaxDepthForInlining) {
TRACE("Not inlining " TRACE("Not inlining "
<< shared_info->object().address() << " into " << shared_info->object().address() << " into "
<< info_->shared_info()->DebugName()->ToCString().get() << info_->shared_info().address()
<< " because call has exceeded the maximum depth for function " << " because call has exceeded the maximum depth for function "
"inlining."); "inlining.");
return NoChange(); return NoChange();
...@@ -418,7 +416,7 @@ Reduction JSInliner::ReduceJSCall(Node* node) { ...@@ -418,7 +416,7 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
<< exception_target->id() << ":" << exception_target->op()->mnemonic() << exception_target->id() << ":" << exception_target->op()->mnemonic()
<< " and --no-inline-into-try active, so not inlining " << " and --no-inline-into-try active, so not inlining "
<< shared_info->object().address() << " into " << shared_info->object().address() << " into "
<< info_->shared_info()->DebugName()->ToCString().get()); << info_->shared_info().address());
return NoChange(); return NoChange();
} }
...@@ -435,7 +433,7 @@ Reduction JSInliner::ReduceJSCall(Node* node) { ...@@ -435,7 +433,7 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
} }
TRACE("Inlining " << shared_info->object().address() << " into " TRACE("Inlining " << shared_info->object().address() << " into "
<< info_->shared_info()->DebugName()->ToCString().get() << info_->shared_info().address()
<< ((exception_target != nullptr) ? " (inside try-block)" << ((exception_target != nullptr) ? " (inside try-block)"
: "")); : ""));
// Determine the targets feedback vector and its context. // Determine the targets feedback vector and its context.
...@@ -445,8 +443,8 @@ Reduction JSInliner::ReduceJSCall(Node* node) { ...@@ -445,8 +443,8 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
if (FLAG_concurrent_inlining) { if (FLAG_concurrent_inlining) {
if (!shared_info.value().IsSerializedForCompilation(feedback_vector)) { if (!shared_info.value().IsSerializedForCompilation(feedback_vector)) {
TRACE("Missed opportunity to inline a function (" TRACE("Missed opportunity to inline a function ("
<< Brief(*shared_info.value().object()) << " with " << shared_info->object().address() << " with "
<< Brief(*feedback_vector.object()) << ")"); << feedback_vector.object().address() << ")");
return NoChange(); 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