summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_visualizer.h
diff options
context:
space:
mode:
authorSerguei Katkov <serguei.i.katkov@intel.com>2014-10-29 13:48:02 +0600
committerSerguei Katkov <serguei.i.katkov@intel.com>2014-11-05 12:23:56 +0600
commit02c637e8d6952aba19a432e01fc94cece5071e2f (patch)
treeeb923d5fee86be77056605930896bc8025cb8660 /compiler/optimizing/graph_visualizer.h
parent19324d043dfff0dbfd06ba62fee7dcdd0daa61ee (diff)
Fix LoadValue{Wide} to free temp when reg classes are not matched
If the current register mapping does not match the required one we are allocating a new temp and make a copy. After that we are clobbering the old mapping of VR to physical register. However we can also free it for future allocations as soon as it will not used more. This is a fix of the bug I met. The reason of the dex2oat crash was that GenInlinedMinMaxFP loaded two sources to fp registers. It appeared that both of them were live in two pairs of core regs. As a result after loading of them all 4 temps available for x86 platfrom are marked as in use. As a result after an attempt to allocate new temp to load a constant required by GenInlinedMinMaxFP register allocator reported that there is no available temp registers. Change-Id: I9233012e39de1e574761f3d9bd3cad80d743e522 Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Diffstat (limited to 'compiler/optimizing/graph_visualizer.h')
0 files changed, 0 insertions, 0 deletions