| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index 27c517aa1a5be38b03e3ec186532dea8da7aeebb..3f1b10478dedcae0249e0e1fd7828a7b9ebeeb3e 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,
|
|
|