--- a/hotspot/src/share/vm/ci/ciObjectFactory.cpp Mon Jan 04 15:21:09 2010 -0800
+++ b/hotspot/src/share/vm/ci/ciObjectFactory.cpp Tue Jan 05 13:05:58 2010 +0100
@@ -153,6 +153,10 @@
ciEnv::_ClassCastException =
get(SystemDictionary::ClassCastException_klass())
->as_instance_klass();
+ if (EnableInvokeDynamic) {
+ ciEnv::_InvokeDynamic =
+ get(SystemDictionary::InvokeDynamic_klass())->as_instance_klass();
+ }
ciEnv::_Object =
get(SystemDictionary::object_klass())
->as_instance_klass();
@@ -340,6 +344,9 @@
} else if (o->is_typeArray()) {
typeArrayHandle h_ta(THREAD, (typeArrayOop)o);
return new (arena()) ciTypeArray(h_ta);
+ } else if (o->is_constantPoolCache()) {
+ constantPoolCacheHandle h_cpc(THREAD, (constantPoolCacheOop) o);
+ return new (arena()) ciCPCache(h_cpc);
}
// The oop is of some type not supported by the compiler interface.