| Index: src/compiler.h
 | 
| diff --git a/src/compiler.h b/src/compiler.h
 | 
| index 9b439397c3c18f25503787d7476edff9ca95ec56..bda2f26c3e0469e89f11b7c83277a87d501a4af7 100644
 | 
| --- a/src/compiler.h
 | 
| +++ b/src/compiler.h
 | 
| @@ -10,79 +10,18 @@
 | 
|  #include "src/bailout-reason.h"
 | 
|  #include "src/compilation-dependencies.h"
 | 
|  #include "src/signature.h"
 | 
| +#include "src/source-position.h"
 | 
|  #include "src/zone.h"
 | 
|  
 | 
|  namespace v8 {
 | 
|  namespace internal {
 | 
|  
 | 
| -class AstValueFactory;
 | 
| -class HydrogenCodeStub;
 | 
| +// Forward declarations.
 | 
|  class JavaScriptFrame;
 | 
|  class ParseInfo;
 | 
|  class ScriptData;
 | 
|  
 | 
|  
 | 
| -// This class encapsulates encoding and decoding of sources positions from
 | 
| -// which hydrogen values originated.
 | 
| -// When FLAG_track_hydrogen_positions is set this object encodes the
 | 
| -// identifier of the inlining and absolute offset from the start of the
 | 
| -// inlined function.
 | 
| -// When the flag is not set we simply track absolute offset from the
 | 
| -// script start.
 | 
| -class SourcePosition {
 | 
| - public:
 | 
| -  static SourcePosition Unknown() {
 | 
| -    return SourcePosition::FromRaw(kNoPosition);
 | 
| -  }
 | 
| -
 | 
| -  bool IsUnknown() const { return value_ == kNoPosition; }
 | 
| -
 | 
| -  uint32_t position() const { return PositionField::decode(value_); }
 | 
| -  void set_position(uint32_t position) {
 | 
| -    if (FLAG_hydrogen_track_positions) {
 | 
| -      value_ = static_cast<uint32_t>(PositionField::update(value_, position));
 | 
| -    } else {
 | 
| -      value_ = position;
 | 
| -    }
 | 
| -  }
 | 
| -
 | 
| -  uint32_t inlining_id() const { return InliningIdField::decode(value_); }
 | 
| -  void set_inlining_id(uint32_t inlining_id) {
 | 
| -    if (FLAG_hydrogen_track_positions) {
 | 
| -      value_ =
 | 
| -          static_cast<uint32_t>(InliningIdField::update(value_, inlining_id));
 | 
| -    }
 | 
| -  }
 | 
| -
 | 
| -  uint32_t raw() const { return value_; }
 | 
| -
 | 
| - private:
 | 
| -  static const uint32_t kNoPosition =
 | 
| -      static_cast<uint32_t>(RelocInfo::kNoPosition);
 | 
| -  typedef BitField<uint32_t, 0, 9> InliningIdField;
 | 
| -
 | 
| -  // Offset from the start of the inlined function.
 | 
| -  typedef BitField<uint32_t, 9, 23> PositionField;
 | 
| -
 | 
| -  friend class HPositionInfo;
 | 
| -  friend class Deoptimizer;
 | 
| -
 | 
| -  static SourcePosition FromRaw(uint32_t raw_position) {
 | 
| -    SourcePosition position;
 | 
| -    position.value_ = raw_position;
 | 
| -    return position;
 | 
| -  }
 | 
| -
 | 
| -  // If FLAG_hydrogen_track_positions is set contains bitfields InliningIdField
 | 
| -  // and PositionField.
 | 
| -  // Otherwise contains absolute offset from the script start.
 | 
| -  uint32_t value_;
 | 
| -};
 | 
| -
 | 
| -
 | 
| -std::ostream& operator<<(std::ostream& os, const SourcePosition& p);
 | 
| -
 | 
| -
 | 
|  struct InlinedFunctionInfo {
 | 
|    InlinedFunctionInfo(int parent_id, SourcePosition inline_position,
 | 
|                        int script_id, int start_position)
 | 
| 
 |