| Index: src/assembler.h | 
| diff --git a/src/assembler.h b/src/assembler.h | 
| index cd5867689efe0efde0ced8c0998964465f6f5cf8..27aab0eec6eae8c0c2122a1beaf5fcc389fa40e5 100644 | 
| --- a/src/assembler.h | 
| +++ b/src/assembler.h | 
| @@ -40,6 +40,7 @@ | 
| #include "src/deoptimize-reason.h" | 
| #include "src/globals.h" | 
| #include "src/isolate.h" | 
| +#include "src/label.h" | 
| #include "src/log.h" | 
| #include "src/register-configuration.h" | 
| #include "src/runtime/runtime.h" | 
| @@ -272,79 +273,6 @@ class CpuFeatures : public AllStatic { | 
| }; | 
|  | 
|  | 
| -// ----------------------------------------------------------------------------- | 
| -// Labels represent pc locations; they are typically jump or call targets. | 
| -// After declaration, a label can be freely used to denote known or (yet) | 
| -// unknown pc location. Assembler::bind() is used to bind a label to the | 
| -// current pc. A label can be bound only once. | 
| - | 
| -class Label { | 
| - public: | 
| -  enum Distance { | 
| -    kNear, kFar | 
| -  }; | 
| - | 
| -  INLINE(Label()) { | 
| -    Unuse(); | 
| -    UnuseNear(); | 
| -  } | 
| - | 
| -  INLINE(~Label()) { | 
| -    DCHECK(!is_linked()); | 
| -    DCHECK(!is_near_linked()); | 
| -  } | 
| - | 
| -  INLINE(void Unuse()) { pos_ = 0; } | 
| -  INLINE(void UnuseNear()) { near_link_pos_ = 0; } | 
| - | 
| -  INLINE(bool is_bound() const) { return pos_ <  0; } | 
| -  INLINE(bool is_unused() const) { return pos_ == 0 && near_link_pos_ == 0; } | 
| -  INLINE(bool is_linked() const) { return pos_ >  0; } | 
| -  INLINE(bool is_near_linked() const) { return near_link_pos_ > 0; } | 
| - | 
| -  // Returns the position of bound or linked labels. Cannot be used | 
| -  // for unused labels. | 
| -  int pos() const; | 
| -  int near_link_pos() const { return near_link_pos_ - 1; } | 
| - | 
| - private: | 
| -  // pos_ encodes both the binding state (via its sign) | 
| -  // and the binding position (via its value) of a label. | 
| -  // | 
| -  // pos_ <  0  bound label, pos() returns the jump target position | 
| -  // pos_ == 0  unused label | 
| -  // pos_ >  0  linked label, pos() returns the last reference position | 
| -  int pos_; | 
| - | 
| -  // Behaves like |pos_| in the "> 0" case, but for near jumps to this label. | 
| -  int near_link_pos_; | 
| - | 
| -  void bind_to(int pos)  { | 
| -    pos_ = -pos - 1; | 
| -    DCHECK(is_bound()); | 
| -  } | 
| -  void link_to(int pos, Distance distance = kFar) { | 
| -    if (distance == kNear) { | 
| -      near_link_pos_ = pos + 1; | 
| -      DCHECK(is_near_linked()); | 
| -    } else { | 
| -      pos_ = pos + 1; | 
| -      DCHECK(is_linked()); | 
| -    } | 
| -  } | 
| - | 
| -  friend class Assembler; | 
| -  friend class Displacement; | 
| -  friend class RegExpMacroAssemblerIrregexp; | 
| - | 
| -#if V8_TARGET_ARCH_ARM64 | 
| -  // On ARM64, the Assembler keeps track of pointers to Labels to resolve | 
| -  // branches to distant targets. Copying labels would confuse the Assembler. | 
| -  DISALLOW_COPY_AND_ASSIGN(Label);  // NOLINT | 
| -#endif | 
| -}; | 
| - | 
| - | 
| enum SaveFPRegsMode { kDontSaveFPRegs, kSaveFPRegs }; | 
|  | 
| enum ArgvMode { kArgvOnStack, kArgvInRegister }; | 
|  |