304 // Internal routines (for implementation of WindbgAddress).
305 // These must not be called until the MachineDescription has been set up.
306 //
307
308 /** From the WindbgDebugger interface */
309 public String addressValueToString(long address) {
310 return utils.addressValueToString(address);
311 }
312
313 /** From the WindbgDebugger interface */
314 public WindbgAddress readAddress(long address)
315 throws UnmappedAddressException, UnalignedAddressException {
316 return (WindbgAddress) newAddress(readAddressValue(address));
317 }
318
319 public WindbgAddress readCompOopAddress(long address)
320 throws UnmappedAddressException, UnalignedAddressException {
321 return (WindbgAddress) newAddress(readCompOopAddressValue(address));
322 }
323
324 /** From the WindbgDebugger interface */
325 public WindbgOopHandle readOopHandle(long address)
326 throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
327 long value = readAddressValue(address);
328 return (value == 0 ? null : new WindbgOopHandle(this, value));
329 }
330 public WindbgOopHandle readCompOopHandle(long address)
331 throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
332 long value = readCompOopAddressValue(address);
333 return (value == 0 ? null : new WindbgOopHandle(this, value));
334 }
335
336 /** From the WindbgDebugger interface */
337 public int getAddressSize() {
338 return (int) machDesc.getAddressSize();
339 }
340
341 //--------------------------------------------------------------------------------
342 // Thread context access
343 //
|
304 // Internal routines (for implementation of WindbgAddress).
305 // These must not be called until the MachineDescription has been set up.
306 //
307
308 /** From the WindbgDebugger interface */
309 public String addressValueToString(long address) {
310 return utils.addressValueToString(address);
311 }
312
313 /** From the WindbgDebugger interface */
314 public WindbgAddress readAddress(long address)
315 throws UnmappedAddressException, UnalignedAddressException {
316 return (WindbgAddress) newAddress(readAddressValue(address));
317 }
318
319 public WindbgAddress readCompOopAddress(long address)
320 throws UnmappedAddressException, UnalignedAddressException {
321 return (WindbgAddress) newAddress(readCompOopAddressValue(address));
322 }
323
324 public WindbgAddress readCompKlassAddress(long address)
325 throws UnmappedAddressException, UnalignedAddressException {
326 return (WindbgAddress) newAddress(readCompKlassAddressValue(address));
327 }
328
329 /** From the WindbgDebugger interface */
330 public WindbgOopHandle readOopHandle(long address)
331 throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
332 long value = readAddressValue(address);
333 return (value == 0 ? null : new WindbgOopHandle(this, value));
334 }
335 public WindbgOopHandle readCompOopHandle(long address)
336 throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
337 long value = readCompOopAddressValue(address);
338 return (value == 0 ? null : new WindbgOopHandle(this, value));
339 }
340
341 /** From the WindbgDebugger interface */
342 public int getAddressSize() {
343 return (int) machDesc.getAddressSize();
344 }
345
346 //--------------------------------------------------------------------------------
347 // Thread context access
348 //
|