Chromium Code Reviews| Index: src/compilation-info.h |
| diff --git a/src/compilation-info.h b/src/compilation-info.h |
| index 676d868ff18db19db742fe9001c2f3a8f3b77b6b..57d90e62d66d4426ecc7b68c4c89e8f13e9f5043 100644 |
| --- a/src/compilation-info.h |
| +++ b/src/compilation-info.h |
| @@ -290,18 +290,31 @@ class CompilationInfo final { |
| // Do not remove. |
| Handle<Code> inlined_code_object_root; |
| + InliningPosition position; |
| + |
| InlinedFunctionHolder(Handle<SharedFunctionInfo> inlined_shared_info, |
| - Handle<Code> inlined_code_object_root) |
| + Handle<Code> inlined_code_object_root, |
| + SourcePosition pos) |
| : shared_info(inlined_shared_info), |
| - inlined_code_object_root(inlined_code_object_root) {} |
| + inlined_code_object_root(inlined_code_object_root) { |
| + position.position = pos; |
| + // initialized when generating the deoptimization literals |
| + position.inlined_function_id = -1; |
| + } |
| + |
| + void RegisterInlinedFunctionId(size_t inlined_function_id) { |
| + position.inlined_function_id = static_cast<int>(inlined_function_id); |
| + } |
| }; |
| typedef std::vector<InlinedFunctionHolder> InlinedFunctionList; |
| - InlinedFunctionList const& inlined_functions() const { |
| - return inlined_functions_; |
| - } |
| + InlinedFunctionList& inlined_functions() { return inlined_functions_; } |
| + |
| + // returns the inlining id for source position tracking |
|
Michael Starzinger
2016/10/28 08:45:50
nit: Please capitalize and punctuate comments ever
|
| + int AddInlinedFunction(Handle<SharedFunctionInfo> inlined_function, |
| + SourcePosition pos); |
| - void AddInlinedFunction(Handle<SharedFunctionInfo> inlined_function); |
| + Handle<PodArray<InliningPosition>> CreateInliningPositions(); |
| std::unique_ptr<char[]> GetDebugName() const; |