Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(247)

Unified Diff: src/compilation-info.h

Issue 2575703003: Move TraceInlinedFunction from Hydrogen graph builder to CompilationInfo. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/compilation-info.cc » ('j') | src/compilation-info.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « no previous file | src/compilation-info.cc » ('j') | src/compilation-info.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698