# HG changeset patch # User Gilles Duboscq # Date 1389971582 -3600 # Node ID 45fcb3ec0d43be1c9de73ff7fd24420ebf362c27 # Parent f308146421225566b131383034c813788aa26eab Rename more 'speculation id' to 'debug id'. Add decodeDebugId to MetaAccessProvider diff -r f30814642122 -r 45fcb3ec0d43 graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/MetaAccessProvider.java --- 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); } diff -r f30814642122 -r 45fcb3ec0d43 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaAccessProvider.java --- 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) {