--- a/hotspot/src/share/vm/oops/constantPool.cpp Fri Sep 28 14:36:20 2012 -0700
+++ b/hotspot/src/share/vm/oops/constantPool.cpp Mon Oct 01 14:50:10 2012 -0700
@@ -445,7 +445,6 @@
return e->has_appendix();
}
-
oop ConstantPool::appendix_at_if_loaded(constantPoolHandle cpool, int which) {
if (cpool->cache() == NULL) return NULL; // nothing to load yet
int cache_index = decode_cpcache_index(which, true);
@@ -454,6 +453,21 @@
}
+bool ConstantPool::has_method_type_at_if_loaded(constantPoolHandle cpool, int which) {
+ if (cpool->cache() == NULL) return false; // nothing to load yet
+ int cache_index = decode_cpcache_index(which, true);
+ ConstantPoolCacheEntry* e = cpool->cache()->entry_at(cache_index);
+ return e->has_method_type();
+}
+
+oop ConstantPool::method_type_at_if_loaded(constantPoolHandle cpool, int which) {
+ if (cpool->cache() == NULL) return NULL; // nothing to load yet
+ int cache_index = decode_cpcache_index(which, true);
+ ConstantPoolCacheEntry* e = cpool->cache()->entry_at(cache_index);
+ return e->method_type_if_resolved(cpool);
+}
+
+
Symbol* ConstantPool::impl_name_ref_at(int which, bool uncached) {
int name_index = name_ref_index_at(impl_name_and_type_ref_index_at(which, uncached));
return symbol_at(name_index);