| 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) | 
|  |