agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java

Print this page
rev 3688 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by:


  82         }
  83         cachePageSize = 4096;
  84         cacheNumPages = parseCacheNumPagesProperty(cacheSize / cachePageSize);
  85         unalignedAccessesOkay = false;
  86       }
  87 
  88       // Cache portion of the remote process's address space.
  89       initCache(cachePageSize, cacheNumPages);
  90 
  91       jbooleanSize = remoteDebugger.getJBooleanSize();
  92       jbyteSize    = remoteDebugger.getJByteSize();
  93       jcharSize    = remoteDebugger.getJCharSize();
  94       jdoubleSize  = remoteDebugger.getJDoubleSize();
  95       jfloatSize   = remoteDebugger.getJFloatSize();
  96       jintSize     = remoteDebugger.getJIntSize();
  97       jlongSize    = remoteDebugger.getJLongSize();
  98       jshortSize   = remoteDebugger.getJShortSize();
  99       javaPrimitiveTypesConfigured = true;
 100       narrowOopBase  = remoteDebugger.getNarrowOopBase();
 101       narrowOopShift = remoteDebugger.getNarrowOopShift();


 102       heapOopSize  = remoteDebugger.getHeapOopSize();

 103     }
 104     catch (RemoteException e) {
 105       throw new DebuggerException(e);
 106     }
 107   }
 108 
 109   public long[] getThreadIntegerRegisterSet(Address addr) {
 110     try {
 111       return remoteDebugger.getThreadIntegerRegisterSet(getAddressValue(addr), true);
 112     }
 113     catch (RemoteException e) {
 114       throw new DebuggerException(e);
 115     }
 116   }
 117 
 118   public long[] getThreadIntegerRegisterSet(long id) {
 119     try {
 120       return remoteDebugger.getThreadIntegerRegisterSet(id, false);
 121     }
 122     catch (RemoteException e) {


 299 
 300   public long getAddressValue(Address addr) throws DebuggerException {
 301     if (addr == null) return 0;
 302     return ((RemoteAddress) addr).getValue();
 303   }
 304 
 305   public Address newAddress(long value) {
 306     if (value == 0) return null;
 307     return new RemoteAddress(this, value);
 308   }
 309 
 310   RemoteAddress readAddress(long address)
 311     throws UnmappedAddressException, UnalignedAddressException {
 312     long value = readAddressValue(address);
 313     return (value == 0 ? null : new RemoteAddress(this, value));
 314   }
 315 
 316   RemoteAddress readCompOopAddress(long address)
 317     throws UnmappedAddressException, UnalignedAddressException {
 318     long value = readCompOopAddressValue(address);






 319     return (value == 0 ? null : new RemoteAddress(this, value));
 320   }
 321 
 322   RemoteOopHandle readOopHandle(long address)
 323     throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
 324     long value = readAddressValue(address);
 325     return (value == 0 ? null : new RemoteOopHandle(this, value));
 326   }
 327 
 328   RemoteOopHandle readCompOopHandle(long address)
 329     throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
 330     long value = readCompOopAddressValue(address);
 331     return (value == 0 ? null : new RemoteOopHandle(this, value));
 332   }
 333 
 334   boolean areThreadsEqual(Address addr1, Address addr2) {
 335     try {
 336        return remoteDebugger.areThreadsEqual(getAddressValue(addr1), true,
 337                                              getAddressValue(addr2), true);
 338     } catch (RemoteException e) {




  82         }
  83         cachePageSize = 4096;
  84         cacheNumPages = parseCacheNumPagesProperty(cacheSize / cachePageSize);
  85         unalignedAccessesOkay = false;
  86       }
  87 
  88       // Cache portion of the remote process's address space.
  89       initCache(cachePageSize, cacheNumPages);
  90 
  91       jbooleanSize = remoteDebugger.getJBooleanSize();
  92       jbyteSize    = remoteDebugger.getJByteSize();
  93       jcharSize    = remoteDebugger.getJCharSize();
  94       jdoubleSize  = remoteDebugger.getJDoubleSize();
  95       jfloatSize   = remoteDebugger.getJFloatSize();
  96       jintSize     = remoteDebugger.getJIntSize();
  97       jlongSize    = remoteDebugger.getJLongSize();
  98       jshortSize   = remoteDebugger.getJShortSize();
  99       javaPrimitiveTypesConfigured = true;
 100       narrowOopBase  = remoteDebugger.getNarrowOopBase();
 101       narrowOopShift = remoteDebugger.getNarrowOopShift();
 102       narrowKlassBase  = remoteDebugger.getNarrowKlassBase();
 103       narrowKlassShift = remoteDebugger.getNarrowKlassShift();
 104       heapOopSize  = remoteDebugger.getHeapOopSize();
 105       klassPtrSize  = remoteDebugger.getKlassPtrSize();
 106     }
 107     catch (RemoteException e) {
 108       throw new DebuggerException(e);
 109     }
 110   }
 111 
 112   public long[] getThreadIntegerRegisterSet(Address addr) {
 113     try {
 114       return remoteDebugger.getThreadIntegerRegisterSet(getAddressValue(addr), true);
 115     }
 116     catch (RemoteException e) {
 117       throw new DebuggerException(e);
 118     }
 119   }
 120 
 121   public long[] getThreadIntegerRegisterSet(long id) {
 122     try {
 123       return remoteDebugger.getThreadIntegerRegisterSet(id, false);
 124     }
 125     catch (RemoteException e) {


 302 
 303   public long getAddressValue(Address addr) throws DebuggerException {
 304     if (addr == null) return 0;
 305     return ((RemoteAddress) addr).getValue();
 306   }
 307 
 308   public Address newAddress(long value) {
 309     if (value == 0) return null;
 310     return new RemoteAddress(this, value);
 311   }
 312 
 313   RemoteAddress readAddress(long address)
 314     throws UnmappedAddressException, UnalignedAddressException {
 315     long value = readAddressValue(address);
 316     return (value == 0 ? null : new RemoteAddress(this, value));
 317   }
 318 
 319   RemoteAddress readCompOopAddress(long address)
 320     throws UnmappedAddressException, UnalignedAddressException {
 321     long value = readCompOopAddressValue(address);
 322     return (value == 0 ? null : new RemoteAddress(this, value));
 323   }
 324 
 325   RemoteAddress readCompKlassAddress(long address)
 326     throws UnmappedAddressException, UnalignedAddressException {
 327     long value = readCompKlassAddressValue(address);
 328     return (value == 0 ? null : new RemoteAddress(this, value));
 329   }
 330 
 331   RemoteOopHandle readOopHandle(long address)
 332     throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
 333     long value = readAddressValue(address);
 334     return (value == 0 ? null : new RemoteOopHandle(this, value));
 335   }
 336 
 337   RemoteOopHandle readCompOopHandle(long address)
 338     throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
 339     long value = readCompOopAddressValue(address);
 340     return (value == 0 ? null : new RemoteOopHandle(this, value));
 341   }
 342 
 343   boolean areThreadsEqual(Address addr1, Address addr2) {
 344     try {
 345        return remoteDebugger.areThreadsEqual(getAddressValue(addr1), true,
 346                                              getAddressValue(addr2), true);
 347     } catch (RemoteException e) {