Mercurial > hg > truffle
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 */ |