hotspot/src/share/vm/ci/ciObjectFactory.cpp
changeset 4566 b363f6ef4068
parent 4450 6d700b859b3e
child 4567 7fc02fbe5c7a
--- 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.