< prev index next >
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/StackValueCollection.java
Print this page
*** 25,34 ****
--- 25,35 ----
package sun.jvm.hotspot.runtime;
import java.util.*;
import sun.jvm.hotspot.debugger.*;
+ import sun.jvm.hotspot.types.*;
public class StackValueCollection {
private List list;
public StackValueCollection() { list = new ArrayList(); }
*** 46,54 ****
public char charAt(int slot) { return (char) get(slot).getInteger(); }
public short shortAt(int slot) { return (short) get(slot).getInteger(); }
public int intAt(int slot) { return (int) get(slot).getInteger(); }
public long longAt(int slot) { return VM.getVM().buildLongFromIntsPD((int) get(slot).getInteger(),
(int) get(slot+1).getInteger()); }
! public OopHandle oopHandleAt(int slot) { return get(slot).getObject(); }
public float floatAt(int slot) { return Float.intBitsToFloat(intAt(slot)); }
public double doubleAt(int slot) { return Double.longBitsToDouble(longAt(slot)); }
}
--- 47,63 ----
public char charAt(int slot) { return (char) get(slot).getInteger(); }
public short shortAt(int slot) { return (short) get(slot).getInteger(); }
public int intAt(int slot) { return (int) get(slot).getInteger(); }
public long longAt(int slot) { return VM.getVM().buildLongFromIntsPD((int) get(slot).getInteger(),
(int) get(slot+1).getInteger()); }
!
! public OopHandle oopHandleAt(int slot) {
! StackValue sv = get(slot);
! if (sv.getType() == BasicType.getTConflict()) {
! throw new WrongTypeException("Conflict type");
! }
! return sv.getObject();
! }
!
public float floatAt(int slot) { return Float.intBitsToFloat(intAt(slot)); }
public double doubleAt(int slot) { return Double.longBitsToDouble(longAt(slot)); }
}
< prev index next >