changeset 4218:03eaec130ed1

Merge
author Gilles Duboscq <gilles.m.duboscq@gmail.com>
date Wed, 04 Jan 2012 19:58:51 +0100
parents f3271682fe5a (current diff) 35b05867c94a (diff)
children 47f7d91d34cf
files
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/alloc/LinearScan.java	Wed Jan 04 19:57:51 2012 +0100
+++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/alloc/LinearScan.java	Wed Jan 04 19:58:51 2012 +0100
@@ -1020,7 +1020,7 @@
      */
     static RegisterPriority registerPriorityOfOutputOperand(LIRInstruction op) {
         if (op.code == StandardOpcode.MOVE) {
-            if (isStackSlot(op.input(0))) {
+            if (isStackSlot(op.input(0)) && op.input(0).kind != CiKind.Object) {
                 // method argument (condition must be equal to handleMethodArguments)
                 return RegisterPriority.None;
             }
@@ -1057,7 +1057,7 @@
      */
     void handleMethodArguments(LIRInstruction op) {
         if (op.code == StandardOpcode.MOVE) {
-            if (isStackSlot(op.input(0))) {
+            if (isStackSlot(op.input(0)) && op.input(0).kind != CiKind.Object) {
                 CiStackSlot slot = (CiStackSlot) op.input(0);
                 if (GraalOptions.DetailedAsserts) {
                     assert op.id() > 0 : "invalid id";