| Index: src/hydrogen-instructions.h
 | 
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
 | 
| index 27c517aa1a5be38b03e3ec186532dea8da7aeebb..50cfa69d304622744dad30a10157402adb7b5d82 100644
 | 
| --- a/src/hydrogen-instructions.h
 | 
| +++ b/src/hydrogen-instructions.h
 | 
| @@ -131,6 +131,7 @@ class LChunkBuilder;
 | 
|    V(IsSmiAndBranch)                            \
 | 
|    V(IsUndetectableAndBranch)                   \
 | 
|    V(LeaveInlined)                              \
 | 
| +  V(LinkObjectInList)                          \
 | 
|    V(LoadContextSlot)                           \
 | 
|    V(LoadExternalArrayPointer)                  \
 | 
|    V(LoadFunctionPrototype)                     \
 | 
| @@ -5326,6 +5327,10 @@ class HObjectAccess {
 | 
|      return HObjectAccess(kInobject, AllocationSite::kTransitionInfoOffset);
 | 
|    }
 | 
|  
 | 
| +  static HObjectAccess ForAllocationSiteWeakNext() {
 | 
| +    return HObjectAccess(kInobject, AllocationSite::kWeakNextOffset);
 | 
| +  }
 | 
| +
 | 
|    static HObjectAccess ForFixedArrayLength() {
 | 
|      return HObjectAccess(kArrayLengths, FixedArray::kLengthOffset);
 | 
|    }
 | 
| @@ -5416,6 +5421,38 @@ class HObjectAccess {
 | 
|  };
 | 
|  
 | 
|  
 | 
| +class HLinkObjectInList: public HUnaryOperation {
 | 
| + public:
 | 
| +  // There needs to be a mapping from every KnownList to an external reference
 | 
| +  enum KnownList {
 | 
| +    ALLOCATION_SITE_LIST
 | 
| +  };
 | 
| +
 | 
| +  HLinkObjectInList(HValue* object, HObjectAccess store_field,
 | 
| +                    KnownList known_list)
 | 
| +      : HUnaryOperation(object),
 | 
| +        store_field_(store_field),
 | 
| +        known_list_(known_list) {
 | 
| +    set_representation(Representation::Tagged());
 | 
| +  }
 | 
| +
 | 
| +  HObjectAccess store_field() const { return store_field_; }
 | 
| +  KnownList known_list() const { return known_list_; }
 | 
| +
 | 
| +  virtual Representation RequiredInputRepresentation(int index) {
 | 
| +    return Representation::Tagged();
 | 
| +  }
 | 
| +
 | 
| +  virtual void PrintDataTo(StringStream* stream);
 | 
| +
 | 
| +  DECLARE_CONCRETE_INSTRUCTION(LinkObjectInList)
 | 
| +
 | 
| + private:
 | 
| +  HObjectAccess store_field_;
 | 
| +  KnownList known_list_;
 | 
| +};
 | 
| +
 | 
| +
 | 
|  class HLoadNamedField: public HTemplateInstruction<2> {
 | 
|   public:
 | 
|    HLoadNamedField(HValue* object,
 | 
| 
 |