Mercurial > hg > truffle
changeset 12717:dd856c84a75c
Mask the speculation id correctly in HotSpotMetaAccessProvider.encodeDeoptActionAndReason
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Fri, 08 Nov 2013 11:00:17 +0100 |
parents | c6b7f982e949 |
children | 605c69ce3b35 |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaAccessProvider.java |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaAccessProvider.java Fri Nov 08 11:12:20 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaAccessProvider.java Fri Nov 08 11:00:17 2013 +0100 @@ -90,7 +90,9 @@ public Constant encodeDeoptActionAndReason(DeoptimizationAction action, DeoptimizationReason reason, short speculationId) { int actionValue = convertDeoptAction(action); int reasonValue = convertDeoptReason(reason); - Constant c = Constant.forInt(~((speculationId << DEBUG_SHIFT) | (reasonValue << REASON_SHIFT) | (actionValue << ACTION_SHIFT))); + int speculationValue = speculationId & DEBUG_MASK; + Constant c = Constant.forInt(~((speculationValue << DEBUG_SHIFT) | (reasonValue << REASON_SHIFT) | (actionValue << ACTION_SHIFT))); + assert c.asInt() < 0; return c; }