diff options
| author | 2012-06-14 15:19:35 -0700 | |
|---|---|---|
| committer | 2012-06-15 11:24:22 -0700 | |
| commit | e5f01223ae03b89767dc7881d75dca061121ee36 (patch) | |
| tree | 67be365994561e90a2adc8e871989a706f070a1d /src/compiler/codegen/GenCommon.cc | |
| parent | dc07f948e2b5e2355a9e26f7e0fd582c3d4cb182 (diff) | |
Fixes for invoke/move-result fusing, recursion bug
Fix for the Arm move-result fusing - NEW_FILLED_ARRAY wasn't
being handled properly. Still keeping x86 disabled. Replaced
the recursive dfs order computation with an iterative version. Could
be improved, but I'll wait to see if it shows up as an issue during
compile-time profiling.
Keeping the old recursive version code in place for a little while until
we're sure the new mechanism computes the exact same orderings.
With this CL we stop running out of thread stack memory on the 003
runtest.
Change-Id: Iab80f42135b081a3f49e1ee26a29220e602ae7e8
Diffstat (limited to 'src/compiler/codegen/GenCommon.cc')
| -rw-r--r-- | src/compiler/codegen/GenCommon.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compiler/codegen/GenCommon.cc b/src/compiler/codegen/GenCommon.cc index f114b45987..29f3cca79a 100644 --- a/src/compiler/codegen/GenCommon.cc +++ b/src/compiler/codegen/GenCommon.cc @@ -624,6 +624,9 @@ void genFilledNewArray(CompilationUnit* cUnit, CallInfo* info) } } } + if (info->result.location != kLocInvalid) { + storeValue(cUnit, info->result, oatGetReturn(cUnit, false /* not fp */)); + } } void genSput(CompilationUnit* cUnit, uint32_t fieldIdx, RegLocation rlSrc, |