< prev index next >

src/share/vm/prims/jvmtiClassFileReconstituter.cpp

Print this page




  26 #include "classfile/symbolTable.hpp"
  27 #include "interpreter/bytecodeStream.hpp"
  28 #include "oops/fieldStreams.hpp"
  29 #include "prims/jvmtiClassFileReconstituter.hpp"
  30 #include "runtime/signature.hpp"
  31 #ifdef TARGET_ARCH_x86
  32 # include "bytes_x86.hpp"
  33 #endif
  34 #ifdef TARGET_ARCH_sparc
  35 # include "bytes_sparc.hpp"
  36 #endif
  37 #ifdef TARGET_ARCH_zero
  38 # include "bytes_zero.hpp"
  39 #endif
  40 #ifdef TARGET_ARCH_arm
  41 # include "bytes_arm.hpp"
  42 #endif
  43 #ifdef TARGET_ARCH_ppc
  44 # include "bytes_ppc.hpp"
  45 #endif




  46 // FIXME: add Deprecated attribute
  47 // FIXME: fix Synthetic attribute
  48 // FIXME: per Serguei, add error return handling for ConstantPool::copy_cpool_bytes()
  49 
  50 
  51 // Write the field information portion of ClassFile structure
  52 // JVMSpec|     u2 fields_count;
  53 // JVMSpec|     field_info fields[fields_count];
  54 void JvmtiClassFileReconstituter::write_field_infos() {
  55   HandleMark hm(thread());
  56   Array<AnnotationArray*>* fields_anno = ikh()->fields_annotations();
  57   Array<AnnotationArray*>* fields_type_anno = ikh()->fields_type_annotations();
  58 
  59   // Compute the real number of Java fields
  60   int java_fields = ikh()->java_fields_count();
  61 
  62   write_u2(java_fields);
  63   for (JavaFieldStream fs(ikh()); !fs.done(); fs.next()) {
  64     AccessFlags access_flags = fs.access_flags();
  65     int name_index = fs.name_index();




  26 #include "classfile/symbolTable.hpp"
  27 #include "interpreter/bytecodeStream.hpp"
  28 #include "oops/fieldStreams.hpp"
  29 #include "prims/jvmtiClassFileReconstituter.hpp"
  30 #include "runtime/signature.hpp"
  31 #ifdef TARGET_ARCH_x86
  32 # include "bytes_x86.hpp"
  33 #endif
  34 #ifdef TARGET_ARCH_sparc
  35 # include "bytes_sparc.hpp"
  36 #endif
  37 #ifdef TARGET_ARCH_zero
  38 # include "bytes_zero.hpp"
  39 #endif
  40 #ifdef TARGET_ARCH_arm
  41 # include "bytes_arm.hpp"
  42 #endif
  43 #ifdef TARGET_ARCH_ppc
  44 # include "bytes_ppc.hpp"
  45 #endif
  46 #ifdef TARGET_ARCH_aarch32
  47 # include "bytes_aarch32.hpp"
  48 #endif
  49 
  50 // FIXME: add Deprecated attribute
  51 // FIXME: fix Synthetic attribute
  52 // FIXME: per Serguei, add error return handling for ConstantPool::copy_cpool_bytes()
  53 
  54 
  55 // Write the field information portion of ClassFile structure
  56 // JVMSpec|     u2 fields_count;
  57 // JVMSpec|     field_info fields[fields_count];
  58 void JvmtiClassFileReconstituter::write_field_infos() {
  59   HandleMark hm(thread());
  60   Array<AnnotationArray*>* fields_anno = ikh()->fields_annotations();
  61   Array<AnnotationArray*>* fields_type_anno = ikh()->fields_type_annotations();
  62 
  63   // Compute the real number of Java fields
  64   int java_fields = ikh()->java_fields_count();
  65 
  66   write_u2(java_fields);
  67   for (JavaFieldStream fs(ikh()); !fs.done(); fs.next()) {
  68     AccessFlags access_flags = fs.access_flags();
  69     int name_index = fs.name_index();


< prev index next >