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; |