Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/instanceKlass.hpp @ 11148:825e6cb66923
8020309: Eliminate InstanceKlass::_cached_class_file_len.
Summary: Use JvmtiCachedClassFileData.
Reviewed-by: iklam, sspitsyn, dcubed
author | jiangli |
---|---|
date | Wed, 17 Jul 2013 18:06:29 -0400 |
parents | 71180a6e5080 |
children | 6b0fd0964b87 e22ee8e7ae62 |
comparison
equal
deleted
inserted
replaced
11146:e619a2766bcc | 11148:825e6cb66923 |
---|---|
131 private: | 131 private: |
132 int _offset; | 132 int _offset; |
133 uint _count; | 133 uint _count; |
134 }; | 134 }; |
135 | 135 |
136 struct JvmtiCachedClassFileData; | |
137 | |
136 class InstanceKlass: public Klass { | 138 class InstanceKlass: public Klass { |
137 friend class VMStructs; | 139 friend class VMStructs; |
138 friend class ClassFileParser; | 140 friend class ClassFileParser; |
139 friend class CompileReplay; | 141 friend class CompileReplay; |
140 | 142 |
247 BreakpointInfo* _breakpoints; // bpt lists, managed by Method* | 249 BreakpointInfo* _breakpoints; // bpt lists, managed by Method* |
248 // Array of interesting part(s) of the previous version(s) of this | 250 // Array of interesting part(s) of the previous version(s) of this |
249 // InstanceKlass. See PreviousVersionWalker below. | 251 // InstanceKlass. See PreviousVersionWalker below. |
250 GrowableArray<PreviousVersionNode *>* _previous_versions; | 252 GrowableArray<PreviousVersionNode *>* _previous_versions; |
251 // JVMTI fields can be moved to their own structure - see 6315920 | 253 // JVMTI fields can be moved to their own structure - see 6315920 |
252 unsigned char * _cached_class_file_bytes; // JVMTI: cached class file, before retransformable agent modified it in CFLH | 254 // JVMTI: cached class file, before retransformable agent modified it in CFLH |
253 jint _cached_class_file_len; // JVMTI: length of above | 255 JvmtiCachedClassFileData* _cached_class_file; |
254 | 256 |
255 volatile u2 _idnum_allocated_count; // JNI/JVMTI: increments with the addition of methods, old ids don't change | 257 volatile u2 _idnum_allocated_count; // JNI/JVMTI: increments with the addition of methods, old ids don't change |
256 | 258 |
257 // Class states are defined as ClassState (see above). | 259 // Class states are defined as ClassState (see above). |
258 // Place the _init_state here to utilize the unused 2-byte after | 260 // Place the _init_state here to utilize the unused 2-byte after |
613 } | 615 } |
614 | 616 |
615 static void purge_previous_versions(InstanceKlass* ik); | 617 static void purge_previous_versions(InstanceKlass* ik); |
616 | 618 |
617 // JVMTI: Support for caching a class file before it is modified by an agent that can do retransformation | 619 // JVMTI: Support for caching a class file before it is modified by an agent that can do retransformation |
618 void set_cached_class_file(unsigned char *class_file_bytes, | 620 void set_cached_class_file(JvmtiCachedClassFileData *data) { |
619 jint class_file_len) { _cached_class_file_len = class_file_len; | 621 _cached_class_file = data; |
620 _cached_class_file_bytes = class_file_bytes; } | 622 } |
621 jint get_cached_class_file_len() { return _cached_class_file_len; } | 623 JvmtiCachedClassFileData * get_cached_class_file() { return _cached_class_file; } |
622 unsigned char * get_cached_class_file_bytes() { return _cached_class_file_bytes; } | 624 jint get_cached_class_file_len(); |
625 unsigned char * get_cached_class_file_bytes(); | |
623 | 626 |
624 // JVMTI: Support for caching of field indices, types, and offsets | 627 // JVMTI: Support for caching of field indices, types, and offsets |
625 void set_jvmti_cached_class_field_map(JvmtiCachedClassFieldMap* descriptor) { | 628 void set_jvmti_cached_class_field_map(JvmtiCachedClassFieldMap* descriptor) { |
626 _jvmti_cached_class_field_map = descriptor; | 629 _jvmti_cached_class_field_map = descriptor; |
627 } | 630 } |