| Index: src/compilation-info.cc
|
| diff --git a/src/compilation-info.cc b/src/compilation-info.cc
|
| index a8bf0eeb402a9f9de60e5576a808ff1c24d56912..e94b24557ab390693e47f7220ec137da61d9ff60 100644
|
| --- a/src/compilation-info.cc
|
| +++ b/src/compilation-info.cc
|
| @@ -9,6 +9,7 @@
|
| #include "src/ast/scopes.h"
|
| #include "src/isolate.h"
|
| #include "src/parsing/parse-info.h"
|
| +#include "src/source-position.h"
|
|
|
| namespace v8 {
|
| namespace internal {
|
| @@ -214,10 +215,25 @@ void CompilationInfo::SetOptimizing() {
|
| code_flags_ = Code::KindField::update(code_flags_, Code::OPTIMIZED_FUNCTION);
|
| }
|
|
|
| -void CompilationInfo::AddInlinedFunction(
|
| - Handle<SharedFunctionInfo> inlined_function) {
|
| +int CompilationInfo::AddInlinedFunction(
|
| + Handle<SharedFunctionInfo> inlined_function, SourcePosition pos) {
|
| + int id = static_cast<int>(inlined_functions_.size());
|
| inlined_functions_.push_back(InlinedFunctionHolder(
|
| - inlined_function, handle(inlined_function->code())));
|
| + inlined_function, handle(inlined_function->code()), pos));
|
| + return id;
|
| +}
|
| +
|
| +Handle<PodArray<InliningPosition>> CompilationInfo::CreateInliningPositions() {
|
| + if (inlined_functions_.size() == 0)
|
| + return Handle<PodArray<InliningPosition>>::cast(
|
| + isolate()->factory()->empty_byte_array());
|
| + Handle<PodArray<InliningPosition>> info =
|
| + isolate()->factory()->NewPodArray<InliningPosition>(
|
| + static_cast<int>(inlined_functions_.size()), TENURED);
|
| + for (int i = 0; i < inlined_functions_.size(); ++i) {
|
| + info->set(i, inlined_functions_[i].position);
|
| + }
|
| + return info;
|
| }
|
|
|
| Code::Kind CompilationInfo::output_code_kind() const {
|
|
|