Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index aec7644ffda66f2c9b8bc3f5743df06f83f65a41..af95c71310d9a2a46e4add2b4e40531054793844 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -2716,6 +2716,7 @@ class HLoadRoot FINAL : public HTemplateInstruction<0> { |
// TODO(bmeurer): We'll need kDependsOnRoots once we add the |
// corresponding HStoreRoot instruction. |
SetDependsOnFlag(kCalls); |
+ set_representation(Representation::Tagged()); |
} |
virtual bool IsDeletable() const OVERRIDE { return true; } |
@@ -6373,11 +6374,13 @@ class HLoadNamedField FINAL : public HTemplateInstruction<2> { |
return !access().IsInobject() || access().offset() >= size; |
} |
virtual Representation RequiredInputRepresentation(int index) OVERRIDE { |
- if (index == 0 && access().IsExternalMemory()) { |
+ if (index == 0) { |
// object must be external in case of external memory access |
- return Representation::External(); |
+ return access().IsExternalMemory() ? Representation::External() |
+ : Representation::Tagged(); |
} |
- return Representation::Tagged(); |
+ DCHECK(index == 1); |
+ return Representation::None(); |
} |
virtual Range* InferRange(Zone* zone) OVERRIDE; |
virtual std::ostream& PrintDataTo(std::ostream& os) const OVERRIDE; // NOLINT |