src/share/vm/classfile/classFileParser.cpp

changeset 5421
825e6cb66923
parent 5237
f2110083203d
child 5535
e22ee8e7ae62
child 5873
8f66130f7b5c
     1.1 --- a/src/share/vm/classfile/classFileParser.cpp	Wed Jun 12 11:17:39 2013 +0200
     1.2 +++ b/src/share/vm/classfile/classFileParser.cpp	Wed Jul 17 18:06:29 2013 -0400
     1.3 @@ -3647,8 +3647,7 @@
     1.4    // If RedefineClasses() was used before the retransformable
     1.5    // agent attached, then the cached class bytes may not be the
     1.6    // original class bytes.
     1.7 -  unsigned char *cached_class_file_bytes = NULL;
     1.8 -  jint cached_class_file_length;
     1.9 +  JvmtiCachedClassFileData *cached_class_file = NULL;
    1.10    Handle class_loader(THREAD, loader_data->class_loader());
    1.11    bool has_default_methods = false;
    1.12    ResourceMark rm(THREAD);
    1.13 @@ -3680,10 +3679,7 @@
    1.14        if (h_class_being_redefined != NULL) {
    1.15          instanceKlassHandle ikh_class_being_redefined =
    1.16            instanceKlassHandle(THREAD, (*h_class_being_redefined)());
    1.17 -        cached_class_file_bytes =
    1.18 -          ikh_class_being_redefined->get_cached_class_file_bytes();
    1.19 -        cached_class_file_length =
    1.20 -          ikh_class_being_redefined->get_cached_class_file_len();
    1.21 +        cached_class_file = ikh_class_being_redefined->get_cached_class_file();
    1.22        }
    1.23      }
    1.24  
    1.25 @@ -3691,9 +3687,7 @@
    1.26      unsigned char* end_ptr = cfs->buffer() + cfs->length();
    1.27  
    1.28      JvmtiExport::post_class_file_load_hook(name, class_loader(), protection_domain,
    1.29 -                                           &ptr, &end_ptr,
    1.30 -                                           &cached_class_file_bytes,
    1.31 -                                           &cached_class_file_length);
    1.32 +                                           &ptr, &end_ptr, &cached_class_file);
    1.33  
    1.34      if (ptr != cfs->buffer()) {
    1.35        // JVMTI agent has modified class file data.
    1.36 @@ -4011,10 +4005,9 @@
    1.37        }
    1.38      }
    1.39  
    1.40 -    if (cached_class_file_bytes != NULL) {
    1.41 +    if (cached_class_file != NULL) {
    1.42        // JVMTI: we have an InstanceKlass now, tell it about the cached bytes
    1.43 -      this_klass->set_cached_class_file(cached_class_file_bytes,
    1.44 -                                        cached_class_file_length);
    1.45 +      this_klass->set_cached_class_file(cached_class_file);
    1.46      }
    1.47  
    1.48      // Fill in field values obtained by parse_classfile_attributes

mercurial