Commit 793f025b authored by Georg Neis's avatar Georg Neis Committed by Commit Bot

[turbofan] Clarify purpose of bytecode_array in InlinedFunctionHolder

Change-Id: I7716dab4d6d0ff582acdffb988a05429bccab2ad
Reviewed-on: https://chromium-review.googlesource.com/c/1462006
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59554}
parent 2d9a9ed2
...@@ -465,10 +465,6 @@ Reduction JSInliner::ReduceJSCall(Node* node) { ...@@ -465,10 +465,6 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
info_->shared_info()->DebugName()->ToCString().get(), info_->shared_info()->DebugName()->ToCString().get(),
(exception_target != nullptr) ? " (inside try-block)" : ""); (exception_target != nullptr) ? " (inside try-block)" : "");
// Get the bytecode array.
Handle<BytecodeArray> bytecode_array =
handle(shared_info->GetBytecodeArray(), isolate());
// Determine the targets feedback vector and its context. // Determine the targets feedback vector and its context.
Node* context; Node* context;
Handle<FeedbackVector> feedback_vector; Handle<FeedbackVector> feedback_vector;
...@@ -485,6 +481,9 @@ Reduction JSInliner::ReduceJSCall(Node* node) { ...@@ -485,6 +481,9 @@ Reduction JSInliner::ReduceJSCall(Node* node) {
} }
} }
Handle<BytecodeArray> bytecode_array =
handle(shared_info->GetBytecodeArray(), isolate());
// Remember that we inlined this function. // Remember that we inlined this function.
int inlining_id = info_->AddInlinedFunction( int inlining_id = info_->AddInlinedFunction(
shared_info, bytecode_array, source_positions_->GetSourcePosition(node)); shared_info, bytecode_array, source_positions_->GetSourcePosition(node));
......
...@@ -203,5 +203,15 @@ void OptimizedCompilationInfo::SetTracingFlags(bool passes_filter) { ...@@ -203,5 +203,15 @@ void OptimizedCompilationInfo::SetTracingFlags(bool passes_filter) {
if (FLAG_trace_turbo_scheduled) SetFlag(kTraceTurboScheduled); if (FLAG_trace_turbo_scheduled) SetFlag(kTraceTurboScheduled);
} }
OptimizedCompilationInfo::InlinedFunctionHolder::InlinedFunctionHolder(
Handle<SharedFunctionInfo> inlined_shared_info,
Handle<BytecodeArray> inlined_bytecode, SourcePosition pos)
: shared_info(inlined_shared_info), bytecode_array(inlined_bytecode) {
DCHECK_EQ(shared_info->GetBytecodeArray(), *bytecode_array);
position.position = pos;
// initialized when generating the deoptimization literals
position.inlined_function_id = DeoptimizationData::kNotInlinedIndex;
}
} // namespace internal } // namespace internal
} // namespace v8 } // namespace v8
...@@ -232,18 +232,12 @@ class V8_EXPORT_PRIVATE OptimizedCompilationInfo final { ...@@ -232,18 +232,12 @@ class V8_EXPORT_PRIVATE OptimizedCompilationInfo final {
struct InlinedFunctionHolder { struct InlinedFunctionHolder {
Handle<SharedFunctionInfo> shared_info; Handle<SharedFunctionInfo> shared_info;
Handle<BytecodeArray> bytecode_array; Handle<BytecodeArray> bytecode_array; // Explicit to prevent flushing.
InliningPosition position; InliningPosition position;
InlinedFunctionHolder(Handle<SharedFunctionInfo> inlined_shared_info, InlinedFunctionHolder(Handle<SharedFunctionInfo> inlined_shared_info,
Handle<BytecodeArray> inlined_bytecode, Handle<BytecodeArray> inlined_bytecode,
SourcePosition pos) SourcePosition pos);
: shared_info(inlined_shared_info), bytecode_array(inlined_bytecode) {
position.position = pos;
// initialized when generating the deoptimization literals
position.inlined_function_id = DeoptimizationData::kNotInlinedIndex;
}
void RegisterInlinedFunctionId(size_t inlined_function_id) { void RegisterInlinedFunctionId(size_t inlined_function_id) {
position.inlined_function_id = static_cast<int>(inlined_function_id); position.inlined_function_id = static_cast<int>(inlined_function_id);
......
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