Chromium Code Reviews| 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_; |