Mercurial > hg > graal-jvmci-8
comparison src/share/vm/ci/ciInstanceKlass.hpp @ 1138:dd57230ba8fe
6893268: additional dynamic language related optimizations in C2
Summary: C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance.
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Tue, 05 Jan 2010 15:21:25 +0100 |
parents | 7c57aead6d3e |
children | 5571b97fc1ec c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1137:97125851f396 | 1138:dd57230ba8fe |
---|---|
27 // This class represents a klassOop in the HotSpot virtual machine | 27 // This class represents a klassOop in the HotSpot virtual machine |
28 // whose Klass part is an instanceKlass. It may or may not | 28 // whose Klass part is an instanceKlass. It may or may not |
29 // be loaded. | 29 // be loaded. |
30 class ciInstanceKlass : public ciKlass { | 30 class ciInstanceKlass : public ciKlass { |
31 CI_PACKAGE_ACCESS | 31 CI_PACKAGE_ACCESS |
32 friend class ciBytecodeStream; | |
32 friend class ciEnv; | 33 friend class ciEnv; |
34 friend class ciExceptionHandler; | |
33 friend class ciMethod; | 35 friend class ciMethod; |
34 friend class ciField; | 36 friend class ciField; |
35 friend class ciBytecodeStream; | |
36 | 37 |
37 private: | 38 private: |
38 jobject _loader; | 39 jobject _loader; |
39 jobject _protection_domain; | 40 jobject _protection_domain; |
40 | 41 |
75 | 76 |
76 oop protection_domain(); | 77 oop protection_domain(); |
77 jobject protection_domain_handle(); | 78 jobject protection_domain_handle(); |
78 | 79 |
79 const char* type_string() { return "ciInstanceKlass"; } | 80 const char* type_string() { return "ciInstanceKlass"; } |
81 | |
82 bool is_in_package_impl(const char* packagename, int len); | |
80 | 83 |
81 void print_impl(outputStream* st); | 84 void print_impl(outputStream* st); |
82 | 85 |
83 ciConstantPoolCache* field_cache(); | 86 ciConstantPoolCache* field_cache(); |
84 | 87 |
194 // Is the defining class loader of this class the default loader? | 197 // Is the defining class loader of this class the default loader? |
195 bool uses_default_loader(); | 198 bool uses_default_loader(); |
196 | 199 |
197 bool is_java_lang_Object(); | 200 bool is_java_lang_Object(); |
198 | 201 |
202 // Is this klass in the given package? | |
203 bool is_in_package(const char* packagename) { | |
204 return is_in_package(packagename, (int) strlen(packagename)); | |
205 } | |
206 bool is_in_package(const char* packagename, int len); | |
207 | |
199 // What kind of ciObject is this? | 208 // What kind of ciObject is this? |
200 bool is_instance_klass() { return true; } | 209 bool is_instance_klass() { return true; } |
201 bool is_java_klass() { return true; } | 210 bool is_java_klass() { return true; } |
202 }; | 211 }; |