1.1 --- a/src/share/vm/oops/instanceKlass.hpp Wed Jun 12 11:17:39 2013 +0200 1.2 +++ b/src/share/vm/oops/instanceKlass.hpp Wed Jul 17 18:06:29 2013 -0400 1.3 @@ -133,6 +133,8 @@ 1.4 uint _count; 1.5 }; 1.6 1.7 +struct JvmtiCachedClassFileData; 1.8 + 1.9 class InstanceKlass: public Klass { 1.10 friend class VMStructs; 1.11 friend class ClassFileParser; 1.12 @@ -249,8 +251,8 @@ 1.13 // InstanceKlass. See PreviousVersionWalker below. 1.14 GrowableArray<PreviousVersionNode *>* _previous_versions; 1.15 // JVMTI fields can be moved to their own structure - see 6315920 1.16 - unsigned char * _cached_class_file_bytes; // JVMTI: cached class file, before retransformable agent modified it in CFLH 1.17 - jint _cached_class_file_len; // JVMTI: length of above 1.18 + // JVMTI: cached class file, before retransformable agent modified it in CFLH 1.19 + JvmtiCachedClassFileData* _cached_class_file; 1.20 1.21 volatile u2 _idnum_allocated_count; // JNI/JVMTI: increments with the addition of methods, old ids don't change 1.22 1.23 @@ -615,11 +617,12 @@ 1.24 static void purge_previous_versions(InstanceKlass* ik); 1.25 1.26 // JVMTI: Support for caching a class file before it is modified by an agent that can do retransformation 1.27 - void set_cached_class_file(unsigned char *class_file_bytes, 1.28 - jint class_file_len) { _cached_class_file_len = class_file_len; 1.29 - _cached_class_file_bytes = class_file_bytes; } 1.30 - jint get_cached_class_file_len() { return _cached_class_file_len; } 1.31 - unsigned char * get_cached_class_file_bytes() { return _cached_class_file_bytes; } 1.32 + void set_cached_class_file(JvmtiCachedClassFileData *data) { 1.33 + _cached_class_file = data; 1.34 + } 1.35 + JvmtiCachedClassFileData * get_cached_class_file() { return _cached_class_file; } 1.36 + jint get_cached_class_file_len(); 1.37 + unsigned char * get_cached_class_file_bytes(); 1.38 1.39 // JVMTI: Support for caching of field indices, types, and offsets 1.40 void set_jvmti_cached_class_field_map(JvmtiCachedClassFieldMap* descriptor) {