# HG changeset patch # User Gilles Duboscq # Date 1383752868 -3600 # Node ID 42a60780c2c929afeb972b49ffbdbf9cb9c21911 # Parent 4b053442b9d1c0b166b1247816034a38668d3c57 Add some missing cases for NodeClass.(getDebugProperties|valueEqual|valueNumber) diff -r 4b053442b9d1 -r 42a60780c2c9 graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java --- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java Wed Nov 06 16:41:07 2013 +0100 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java Wed Nov 06 16:47:48 2013 +0100 @@ -721,8 +721,24 @@ if (booleanValue) { number += 7; } + } else if (type == Float.TYPE) { + float floatValue = unsafe.getFloat(n, dataOffsets[i]); + number += Float.floatToRawIntBits(floatValue); + } else if (type == Double.TYPE) { + double doubleValue = unsafe.getDouble(n, dataOffsets[i]); + long longValue = Double.doubleToRawLongBits(doubleValue); + number += longValue ^ (longValue >>> 32); + } else if (type == Short.TYPE) { + short shortValue = unsafe.getShort(n, dataOffsets[i]); + number += shortValue; + } else if (type == Character.TYPE) { + char charValue = unsafe.getChar(n, dataOffsets[i]); + number += charValue; + } else if (type == Byte.TYPE) { + byte byteValue = unsafe.getByte(n, dataOffsets[i]); + number += byteValue; } else { - assert false; + assert false : "unhandled property type: " + type; } } else { Object o = unsafe.getObject(n, dataOffsets[i]); @@ -755,6 +771,12 @@ value = unsafe.getFloat(node, dataOffsets[i]); } else if (type == Double.TYPE) { value = unsafe.getDouble(node, dataOffsets[i]); + } else if (type == Short.TYPE) { + value = unsafe.getShort(node, dataOffsets[i]); + } else if (type == Character.TYPE) { + value = unsafe.getChar(node, dataOffsets[i]); + } else if (type == Byte.TYPE) { + value = unsafe.getByte(node, dataOffsets[i]); } else { assert false : "unhandled property type: " + type; } @@ -817,12 +839,36 @@ if (aLong != bLong) { return false; } + } else if (type == Float.TYPE) { + float aFloat = unsafe.getFloat(a, dataOffsets[i]); + float bFloat = unsafe.getFloat(b, dataOffsets[i]); + if (aFloat != bFloat) { + return false; + } } else if (type == Double.TYPE) { double aDouble = unsafe.getDouble(a, dataOffsets[i]); double bDouble = unsafe.getDouble(b, dataOffsets[i]); if (aDouble != bDouble) { return false; } + } else if (type == Short.TYPE) { + short aShort = unsafe.getShort(a, dataOffsets[i]); + short bShort = unsafe.getShort(b, dataOffsets[i]); + if (aShort != bShort) { + return false; + } + } else if (type == Character.TYPE) { + char aChar = unsafe.getChar(a, dataOffsets[i]); + char bChar = unsafe.getChar(b, dataOffsets[i]); + if (aChar != bChar) { + return false; + } + } else if (type == Byte.TYPE) { + byte aByte = unsafe.getByte(a, dataOffsets[i]); + byte bByte = unsafe.getByte(b, dataOffsets[i]); + if (aByte != bByte) { + return false; + } } else { assert false : "unhandled type: " + type; }