changeset 16285:ad197a92e25e

Fix ValuePosition.set() issues.
author Josef Eisl <josef.eisl@jku.at>
date Thu, 26 Jun 2014 11:19:31 +0200
parents 96a088675c48
children 95e147b30dd0
files graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRIntrospection.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValuePosition.java
diffstat 2 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRIntrospection.java	Wed Jun 25 20:39:27 2014 +0200
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRIntrospection.java	Thu Jun 26 11:19:31 2014 +0200
@@ -185,8 +185,9 @@
     protected static void setValueForPosition(Object obj, long[] offsets, int directCount, ValuePosition pos, Value value) {
         if (pos.getIndex() < directCount) {
             setValue(obj, offsets[pos.getIndex()], value);
+        } else {
+            getValueArray(obj, offsets[pos.getIndex()])[pos.getSubIndex()] = value;
         }
-        getValueArray(obj, offsets[pos.getIndex()])[pos.getSubIndex()] = value;
     }
 
     protected static Value getValue(Object obj, long offset) {
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValuePosition.java	Wed Jun 25 20:39:27 2014 +0200
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValuePosition.java	Thu Jun 26 11:19:31 2014 +0200
@@ -82,8 +82,9 @@
         if (isCompositePosition()) {
             CompositeValue compValue = getCompositeValue(inst, this);
             compValue.getValueClass().setValue(compValue, this, value);
+        } else {
+            inst.getLIRInstructionClass().setValue(inst, this, value);
         }
-        inst.getLIRInstructionClass().setValue(inst, this, value);
     }
 
     public int getSubIndex() {