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) {