Index: src/compilation-info.h |
diff --git a/src/compilation-info.h b/src/compilation-info.h |
index 863183b5cd3516b2007e05463b615d805b93d788..8561f7ea663516be640b3a47a41d634636828471 100644 |
--- a/src/compilation-info.h |
+++ b/src/compilation-info.h |
@@ -283,11 +283,15 @@ class CompilationInfo final { |
InliningPosition position; |
+ static const int kSourceNotDumped = -1; |
+ int source_id; |
Tobias Tebbi
2016/12/15 16:22:01
These are too many ids. Now we have inlining_id, i
|
+ |
InlinedFunctionHolder(Handle<SharedFunctionInfo> inlined_shared_info, |
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), |
+ source_id(kSourceNotDumped) { |
position.position = pos; |
// initialized when generating the deoptimization literals |
position.inlined_function_id = DeoptimizationInputData::kNotInlinedIndex; |
@@ -340,6 +344,17 @@ class CompilationInfo final { |
void set_is_debug(); |
+ // If we are tracking source positions then this function prints a unique |
Tobias Tebbi
2016/12/15 16:22:01
"tracking source positions" is not an accurate des
|
+ // identifier assigned to each inlining and dumps function source if it |
+ // was inlined for the first time during the current optimization. |
+ void TraceInlinedFunction(Handle<SharedFunctionInfo> shared, |
+ SourcePosition position, int inlining_id); |
+ |
+ // Assign source id to the given inlining: source ids are used to |
+ // avoid dumping the same function multiple times to minimize trace |
+ // size. |
+ bool AssignSourceIdToInlining(int inlining_id, int* source_id); |
+ |
unsigned flags_; |
Code::Flags code_flags_; |