| Index: src/hydrogen-instructions.h
|
| ===================================================================
|
| --- src/hydrogen-instructions.h (revision 13350)
|
| +++ src/hydrogen-instructions.h (working copy)
|
| @@ -4367,11 +4367,12 @@
|
|
|
|
|
| class HLoadKeyed
|
| - : public HTemplateInstruction<3>, public ArrayInstructionInterface {
|
| + : public HTemplateInstruction<4>, public ArrayInstructionInterface {
|
| public:
|
| HLoadKeyed(HValue* obj,
|
| HValue* key,
|
| HValue* dependency,
|
| + HValue* prefetch_distance,
|
| ElementsKind elements_kind)
|
| : bit_field_(0) {
|
| bit_field_ = ElementsKindField::encode(elements_kind);
|
| @@ -4379,6 +4380,7 @@
|
| SetOperandAt(0, obj);
|
| SetOperandAt(1, key);
|
| SetOperandAt(2, dependency != NULL ? dependency : obj);
|
| + SetOperandAt(3, prefetch_distance);
|
|
|
| if (!is_external()) {
|
| // I can detect the case between storing double (holey and fast) and
|
| @@ -4424,6 +4426,10 @@
|
| return OperandAt(2);
|
| }
|
| bool HasDependency() const { return OperandAt(0) != OperandAt(2); }
|
| + HValue* prefetch_distance() { return OperandAt(3); }
|
| + void SetPrefetchDistance(HValue* prefetch_distance) {
|
| + SetOperandAt(3, prefetch_distance);
|
| + }
|
| uint32_t index_offset() { return IndexOffsetField::decode(bit_field_); }
|
| void SetIndexOffset(uint32_t index_offset) {
|
| bit_field_ = IndexOffsetField::update(bit_field_, index_offset);
|
|
|