Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 272c6bdaf044a8906b201348da851e49ac80a815..1800f7310d7b0e70f0ee66c84c7f03c9a5ccb9bd 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -1237,6 +1237,8 @@ class HInstruction : public HValue { |
position_.set_operand_position(index, pos); |
} |
+ bool Dominates(HInstruction* other); |
+ |
bool CanTruncateToInt32() const { return CheckFlag(kTruncatingToInt32); } |
virtual LInstruction* CompileToLithium(LChunkBuilder* builder) = 0; |
@@ -5450,6 +5452,9 @@ class HAllocate V8_FINAL : public HTemplateInstruction<2> { |
HValue* context() { return OperandAt(0); } |
HValue* size() { return OperandAt(1); } |
+ HAllocate* wired_allocate() { return wired_allocate_; } |
+ void set_wired_allocate(HAllocate* alloc) { wired_allocate_ = alloc; } |
+ |
virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
if (index == 0) { |
return Representation::Tagged(); |
@@ -5517,6 +5522,7 @@ class HAllocate V8_FINAL : public HTemplateInstruction<2> { |
InstanceType instance_type) |
: HTemplateInstruction<2>(type), |
dominating_allocate_(NULL), |
+ wired_allocate_(NULL), |
filler_free_space_size_(NULL), |
clear_next_map_word_(false) { |
SetOperandAt(0, context); |
@@ -5566,6 +5572,9 @@ class HAllocate V8_FINAL : public HTemplateInstruction<2> { |
Flags flags_; |
Handle<Map> known_initial_map_; |
HAllocate* dominating_allocate_; |
+ // JSArray allocation will contain pointer to FixedArray allocation here. |
+ // Allocation folding will treat wired allocations differently. |
+ HAllocate* wired_allocate_; |
HStoreNamedField* filler_free_space_size_; |
bool clear_next_map_word_; |
}; |