Mercurial > hg > graal-compiler
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() {