comparison agent/src/share/classes/sun/jvm/hotspot/runtime/InterpretedVFrame.java @ 818:b109e761e927

6837472: com/sun/jdi/MonitorFrameInfo.java fails with AggressiveOpts in 6u14 Summary: Disable escape analysis when jvmti/debugger is used. Add support for EA ibto SA. Reviewed-by: never
author kvn
date Tue, 09 Jun 2009 16:19:10 -0700
parents a61af66fc99e
children bd02caa94611
comparison
equal deleted inserted replaced
793:eacd97c88873 818:b109e761e927
59 59
60 // Depending on oop/int put it in the right package 60 // Depending on oop/int put it in the right package
61 StackValue sv; 61 StackValue sv;
62 if (oopMask.isOop(i)) { 62 if (oopMask.isOop(i)) {
63 // oop value 63 // oop value
64 sv = new StackValue(addr.getOopHandleAt(0)); 64 sv = new StackValue(addr.getOopHandleAt(0), 0);
65 } else { 65 } else {
66 // integer 66 // integer
67 // Fetch a signed integer the size of a stack slot 67 // Fetch a signed integer the size of a stack slot
68 sv = new StackValue(addr.getCIntegerAt(0, VM.getVM().getAddressSize(), false)); 68 sv = new StackValue(addr.getCIntegerAt(0, VM.getVM().getAddressSize(), false));
69 } 69 }
93 93
94 // Depending on oop/int put it in the right package 94 // Depending on oop/int put it in the right package
95 StackValue sv; 95 StackValue sv;
96 if (oopMask.isOop(i + nofLocals)) { 96 if (oopMask.isOop(i + nofLocals)) {
97 // oop value 97 // oop value
98 sv = new StackValue(addr.getOopHandleAt(0)); 98 sv = new StackValue(addr.getOopHandleAt(0), 0);
99 } else { 99 } else {
100 // integer 100 // integer
101 // Fetch a signed integer the size of a stack slot 101 // Fetch a signed integer the size of a stack slot
102 sv = new StackValue(addr.getCIntegerAt(0, VM.getVM().getAddressSize(), false)); 102 sv = new StackValue(addr.getCIntegerAt(0, VM.getVM().getAddressSize(), false));
103 } 103 }
111 public List getMonitors() { 111 public List getMonitors() {
112 List result = new ArrayList(5); 112 List result = new ArrayList(5);
113 for (BasicObjectLock current = getFrame().interpreterFrameMonitorEnd(); 113 for (BasicObjectLock current = getFrame().interpreterFrameMonitorEnd();
114 current.address().lessThan(getFrame().interpreterFrameMonitorBegin().address()); 114 current.address().lessThan(getFrame().interpreterFrameMonitorBegin().address());
115 current = getFrame().nextMonitorInInterpreterFrame(current)) { 115 current = getFrame().nextMonitorInInterpreterFrame(current)) {
116 result.add(new MonitorInfo(current.obj(), current.lock())); 116 result.add(new MonitorInfo(current.obj(), current.lock(), false, false));
117 } 117 }
118 return result; 118 return result;
119 } 119 }
120 120
121 /** Test operation */ 121 /** Test operation */