diff src/share/vm/shark/sharkConstant.cpp @ 7601:606eada1bf86

8005820: Shark: enable JSR292 support Reviewed-by: twisti Contributed-by: Roman Kennke <rkennke@redhat.com>
author twisti
date Fri, 11 Jan 2013 16:47:23 -0800
parents 2cd5e15048e6
children de6a9e811145
line wrap: on
line diff
--- a/src/share/vm/shark/sharkConstant.cpp	Fri Jan 11 16:47:23 2013 -0800
+++ b/src/share/vm/shark/sharkConstant.cpp	Fri Jan 11 16:47:23 2013 -0800
@@ -37,7 +37,12 @@
   ciType *type = NULL;
   if (constant.basic_type() == T_OBJECT) {
     ciEnv *env = ciEnv::current();
-    assert(constant.as_object()->klass() == env->String_klass() || constant.as_object()->klass() == env->Class_klass(), "should be");
+
+    assert(constant.as_object()->klass() == env->String_klass()
+           || constant.as_object()->klass() == env->Class_klass()
+           || constant.as_object()->klass()->is_subtype_of(env->MethodType_klass())
+           || constant.as_object()->klass()->is_subtype_of(env->MethodHandle_klass()), "should be");
+
     type = constant.as_object()->klass();
   }
   return new SharkConstant(constant, type);