Index: src/compiler/bytecode-graph-builder.h |
diff --git a/src/compiler/bytecode-graph-builder.h b/src/compiler/bytecode-graph-builder.h |
index 53582f73d7fbb2d6401f13dd754733b6b38248a9..c0a4a1e1b224ceb5cdd8fcbf3c72783ad73824ba 100644 |
--- a/src/compiler/bytecode-graph-builder.h |
+++ b/src/compiler/bytecode-graph-builder.h |
@@ -9,11 +9,13 @@ |
#include "src/compiler/bytecode-loop-analysis.h" |
#include "src/compiler/js-graph.h" |
#include "src/compiler/liveness-analyzer.h" |
+#include "src/compiler/source-position.h" |
#include "src/compiler/state-values-utils.h" |
#include "src/compiler/type-hint-analyzer.h" |
#include "src/interpreter/bytecode-array-iterator.h" |
#include "src/interpreter/bytecode-flags.h" |
#include "src/interpreter/bytecodes.h" |
+#include "src/source-position-table.h" |
namespace v8 { |
namespace internal { |
@@ -27,7 +29,8 @@ namespace compiler { |
class BytecodeGraphBuilder { |
public: |
BytecodeGraphBuilder(Zone* local_zone, CompilationInfo* info, |
- JSGraph* jsgraph, float invocation_frequency); |
+ JSGraph* jsgraph, float invocation_frequency, |
+ SourcePositionTable* source_positions); |
// Creates a graph by visiting bytecodes. |
bool CreateGraph(); |
@@ -301,6 +304,13 @@ class BytecodeGraphBuilder { |
// Analyzer of register liveness. |
LivenessAnalyzer liveness_analyzer_; |
+ // The Turbofan source position table, to be populated. |
+ SourcePositionTable* source_positions_; |
+ |
+ // Update [source_positions_]'s current position to that of the bytecode at |
+ // [offset], if any. |
+ void UpdateCurrentSourcePosition(SourcePositionTableIterator* it, int offset); |
+ |
static int const kBinaryOperationHintIndex = 1; |
static int const kCountOperationHintIndex = 0; |
static int const kBinaryOperationSmiHintIndex = 2; |