Mercurial > hg > truffle
changeset 13677:45fcb3ec0d43
Rename more 'speculation id' to 'debug id'. Add decodeDebugId to MetaAccessProvider
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Fri, 17 Jan 2014 16:13:02 +0100 |
parents | f30814642122 |
children | 7cf35c337fcf |
files | graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/MetaAccessProvider.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaAccessProvider.java |
diffstat | 2 files changed, 11 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/MetaAccessProvider.java Fri Jan 17 15:46:30 2014 +0100 +++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/MetaAccessProvider.java Fri Jan 17 16:13:02 2014 +0100 @@ -70,13 +70,17 @@ /** * Encodes a deoptimization action and a deoptimization reason in an integer value. * - * @param speculationId a speculation ID returned by SpeculationLog.addSpeculation + * @param debugId an integer that can be used to track the origin of a deoptimization at + * runtime. There is no guarantee that the runtime will use this value. The runtime + * may even keep fewer than 32 bits. * * @return the encoded value as an integer */ - Constant encodeDeoptActionAndReason(DeoptimizationAction action, DeoptimizationReason reason, int speculationId); + Constant encodeDeoptActionAndReason(DeoptimizationAction action, DeoptimizationReason reason, int debugId); DeoptimizationReason decodeDeoptReason(Constant constant); DeoptimizationAction decodeDeoptAction(Constant constant); + + int decodeDebugId(Constant constant); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaAccessProvider.java Fri Jan 17 15:46:30 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaAccessProvider.java Fri Jan 17 16:13:02 2014 +0100 @@ -130,12 +130,12 @@ } @Override - public Constant encodeDeoptActionAndReason(DeoptimizationAction action, DeoptimizationReason reason, int speculationId) { + public Constant encodeDeoptActionAndReason(DeoptimizationAction action, DeoptimizationReason reason, int debugId) { HotSpotVMConfig config = runtime.getConfig(); int actionValue = convertDeoptAction(action); int reasonValue = convertDeoptReason(reason); - int speculationValue = speculationId & intMaskRight(config.deoptimizationDebugIdBits); - Constant c = Constant.forInt(~((speculationValue << config.deoptimizationDebugIdShift) | (reasonValue << config.deoptimizationReasonShift) | (actionValue << config.deoptimizationActionShift))); + int debugValue = debugId & intMaskRight(config.deoptimizationDebugIdBits); + Constant c = Constant.forInt(~((debugValue << config.deoptimizationDebugIdShift) | (reasonValue << config.deoptimizationReasonShift) | (actionValue << config.deoptimizationActionShift))); assert c.asInt() < 0; return c; } @@ -154,9 +154,9 @@ return action; } - public short decodeSpeculationId(Constant constant) { + public int decodeDebugId(Constant constant) { HotSpotVMConfig config = runtime.getConfig(); - return (short) (((~constant.asInt()) >> config.deoptimizationDebugIdShift) & intMaskRight(config.deoptimizationDebugIdBits)); + return ((~constant.asInt()) >> config.deoptimizationDebugIdShift) & intMaskRight(config.deoptimizationDebugIdBits); } public int convertDeoptAction(DeoptimizationAction action) {