< prev index next >

src/share/vm/services/heapDumper.cpp

Print this page

        

@@ -812,15 +812,15 @@
 }
 
 // returns the size of the instance of the given class
 u4 DumperSupport::instance_size(Klass* k) {
   HandleMark hm;
-  instanceKlassHandle ikh = instanceKlassHandle(Thread::current(), k);
+  InstanceKlass* ik = InstanceKlass::cast(k);
 
   u4 size = 0;
 
-  for (FieldStream fld(ikh, false, false); !fld.eos(); fld.next()) {
+  for (FieldStream fld(ik, false, false); !fld.eos(); fld.next()) {
     if (!fld.access_flags().is_static()) {
       Symbol* sig = fld.signature();
       switch (sig->byte_at(0)) {
         case JVM_SIGNATURE_CLASS   :
         case JVM_SIGNATURE_ARRAY   : size += oopSize; break;

@@ -845,43 +845,43 @@
 }
 
 // dumps static fields of the given class
 void DumperSupport::dump_static_fields(DumpWriter* writer, Klass* k) {
   HandleMark hm;
-  instanceKlassHandle ikh = instanceKlassHandle(Thread::current(), k);
+  InstanceKlass* ik = InstanceKlass::cast(k);
 
   // pass 1 - count the static fields
   u2 field_count = 0;
-  for (FieldStream fldc(ikh, true, true); !fldc.eos(); fldc.next()) {
+  for (FieldStream fldc(ik, true, true); !fldc.eos(); fldc.next()) {
     if (fldc.access_flags().is_static()) field_count++;
   }
 
   writer->write_u2(field_count);
 
   // pass 2 - dump the field descriptors and raw values
-  for (FieldStream fld(ikh, true, true); !fld.eos(); fld.next()) {
+  for (FieldStream fld(ik, true, true); !fld.eos(); fld.next()) {
     if (fld.access_flags().is_static()) {
       Symbol* sig = fld.signature();
 
       writer->write_symbolID(fld.name());   // name
       writer->write_u1(sig2tag(sig));       // type
 
       // value
       int offset = fld.offset();
-      address addr = (address)ikh->java_mirror() + offset;
+      address addr = (address)ik->java_mirror() + offset;
 
       dump_field_value(writer, sig->byte_at(0), addr);
     }
   }
 }
 
 // dump the raw values of the instance fields of the given object
 void DumperSupport::dump_instance_fields(DumpWriter* writer, oop o) {
   HandleMark hm;
-  instanceKlassHandle ikh = instanceKlassHandle(Thread::current(), o->klass());
+  InstanceKlass* ik = InstanceKlass::cast(o->klass());
 
-  for (FieldStream fld(ikh, false, false); !fld.eos(); fld.next()) {
+  for (FieldStream fld(ik, false, false); !fld.eos(); fld.next()) {
     if (!fld.access_flags().is_static()) {
       Symbol* sig = fld.signature();
       address addr = (address)o + fld.offset();
 
       dump_field_value(writer, sig->byte_at(0), addr);

@@ -890,22 +890,22 @@
 }
 
 // dumps the definition of the instance fields for a given class
 void DumperSupport::dump_instance_field_descriptors(DumpWriter* writer, Klass* k) {
   HandleMark hm;
-  instanceKlassHandle ikh = instanceKlassHandle(Thread::current(), k);
+  InstanceKlass* ik = InstanceKlass::cast(k);
 
   // pass 1 - count the instance fields
   u2 field_count = 0;
-  for (FieldStream fldc(ikh, true, true); !fldc.eos(); fldc.next()) {
+  for (FieldStream fldc(ik, true, true); !fldc.eos(); fldc.next()) {
     if (!fldc.access_flags().is_static()) field_count++;
   }
 
   writer->write_u2(field_count);
 
   // pass 2 - dump the field descriptors
-  for (FieldStream fld(ikh, true, true); !fld.eos(); fld.next()) {
+  for (FieldStream fld(ik, true, true); !fld.eos(); fld.next()) {
     if (!fld.access_flags().is_static()) {
       Symbol* sig = fld.signature();
 
       writer->write_symbolID(fld.name());                   // name
       writer->write_u1(sig2tag(sig));       // type
< prev index next >