< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java

Print this page




 373     private static final int JVM_SIGNATURE_CHAR    = 'C';
 374     private static final int JVM_SIGNATURE_BYTE    = 'B';
 375     private static final int JVM_SIGNATURE_SHORT   = 'S';
 376     private static final int JVM_SIGNATURE_INT     = 'I';
 377     private static final int JVM_SIGNATURE_LONG    = 'J';
 378     private static final int JVM_SIGNATURE_FLOAT   = 'F';
 379     private static final int JVM_SIGNATURE_DOUBLE  = 'D';
 380     private static final int JVM_SIGNATURE_ARRAY   = '[';
 381     private static final int JVM_SIGNATURE_CLASS   = 'L';
 382 
 383     private static final long MAX_U4_VALUE = 0xFFFFFFFFL;
 384     int serialNum = 1;
 385 
 386     public HeapHprofBinWriter() {
 387         this.KlassMap = new ArrayList<Klass>();
 388         this.names = new HashSet<Symbol>();
 389     }
 390 
 391     public synchronized void write(String fileName) throws IOException {
 392         VM vm = VM.getVM();
 393         if (vm.getUniverse().heap() instanceof ZCollectedHeap) {
 394             throw new RuntimeException("This operation is not supported with ZGC.");
 395         }
 396 
 397         // open file stream and create buffered data output stream
 398         fos = new FileOutputStream(fileName);
 399         out = new DataOutputStream(new BufferedOutputStream(fos));
 400 
 401         dbg = vm.getDebugger();
 402         objectHeap = vm.getObjectHeap();
 403 
 404         OBJ_ID_SIZE = (int) vm.getOopSize();
 405 
 406         BOOLEAN_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_BOOLEAN);
 407         BYTE_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_BYTE);
 408         CHAR_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_CHAR);
 409         SHORT_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_SHORT);
 410         INT_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_INT);
 411         LONG_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_LONG);
 412         FLOAT_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_FLOAT);
 413         DOUBLE_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_DOUBLE);
 414         OBJECT_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_OBJECT);
 415 




 373     private static final int JVM_SIGNATURE_CHAR    = 'C';
 374     private static final int JVM_SIGNATURE_BYTE    = 'B';
 375     private static final int JVM_SIGNATURE_SHORT   = 'S';
 376     private static final int JVM_SIGNATURE_INT     = 'I';
 377     private static final int JVM_SIGNATURE_LONG    = 'J';
 378     private static final int JVM_SIGNATURE_FLOAT   = 'F';
 379     private static final int JVM_SIGNATURE_DOUBLE  = 'D';
 380     private static final int JVM_SIGNATURE_ARRAY   = '[';
 381     private static final int JVM_SIGNATURE_CLASS   = 'L';
 382 
 383     private static final long MAX_U4_VALUE = 0xFFFFFFFFL;
 384     int serialNum = 1;
 385 
 386     public HeapHprofBinWriter() {
 387         this.KlassMap = new ArrayList<Klass>();
 388         this.names = new HashSet<Symbol>();
 389     }
 390 
 391     public synchronized void write(String fileName) throws IOException {
 392         VM vm = VM.getVM();



 393 
 394         // open file stream and create buffered data output stream
 395         fos = new FileOutputStream(fileName);
 396         out = new DataOutputStream(new BufferedOutputStream(fos));
 397 
 398         dbg = vm.getDebugger();
 399         objectHeap = vm.getObjectHeap();
 400 
 401         OBJ_ID_SIZE = (int) vm.getOopSize();
 402 
 403         BOOLEAN_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_BOOLEAN);
 404         BYTE_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_BYTE);
 405         CHAR_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_CHAR);
 406         SHORT_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_SHORT);
 407         INT_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_INT);
 408         LONG_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_LONG);
 409         FLOAT_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_FLOAT);
 410         DOUBLE_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_DOUBLE);
 411         OBJECT_BASE_OFFSET = TypeArray.baseOffsetInBytes(BasicType.T_OBJECT);
 412 


< prev index next >