diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-11-11 18:21:53 +0000 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2014-11-11 18:24:48 +0000 |
commit | 421e9f9088b51e9680a3dfcae6965fc1854d3ee4 (patch) | |
tree | 4a9429babb514ff0d8f6772f44aa73c79ec7a773 /compiler/optimizing/nodes.h | |
parent | d6425d7bb909b668341d9781c567f35f6d10ea16 (diff) |
Remove HTemporary when building the SSA graph.
- They are useless afterwards. If we keep them around, they can
crash the dump of the graph, where they always assume a previous
instruction.
- In the call to HTemporary::GetType, check that the previous
instruction exists.
Change-Id: Ie7bf44d05cb61e3654a69725c1980925580dd3a6
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r-- | compiler/optimizing/nodes.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index 2dab605465..36e286d578 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -2114,7 +2114,11 @@ class HTemporary : public HTemplateInstruction<0> { size_t GetIndex() const { return index_; } - Primitive::Type GetType() const OVERRIDE { return GetPrevious()->GetType(); } + Primitive::Type GetType() const OVERRIDE { + // The previous instruction is the one that will be stored in the temporary location. + DCHECK(GetPrevious() != nullptr); + return GetPrevious()->GetType(); + } DECLARE_INSTRUCTION(Temporary); |