Mercurial > hg > truffle
diff src/share/vm/shark/sharkConstant.cpp @ 7643:3ac7d10a6572
Merge with hsx25/hotspot.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Thu, 31 Jan 2013 15:42:25 +0100 |
parents | 606eada1bf86 |
children | de6a9e811145 |
line wrap: on
line diff
--- a/src/share/vm/shark/sharkConstant.cpp Thu Jan 31 11:32:14 2013 +0100 +++ b/src/share/vm/shark/sharkConstant.cpp Thu Jan 31 15:42:25 2013 +0100 @@ -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);