Mercurial > hg > graal-compiler
diff src/share/vm/c1x/c1x_CodeInstaller.cpp @ 2050:b6d2c238e585
Two fixes for leaf type and leaf method assumptions.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Tue, 11 Jan 2011 11:55:19 +0100 |
parents | 7e09ea4a8f36 |
children | 3c0a889a176b |
line wrap: on
line diff
--- a/src/share/vm/c1x/c1x_CodeInstaller.cpp Mon Jan 10 16:59:48 2011 +0100 +++ b/src/share/vm/c1x/c1x_CodeInstaller.cpp Tue Jan 11 11:55:19 2011 +0100 @@ -303,9 +303,8 @@ ciKlass* context = (ciKlass*) CURRENT_ENV->get_object(java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(context_oop))); ciKlass* type = (ciKlass*) CURRENT_ENV->get_object(java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(type_oop))); - if (context == type) { - _dependencies->assert_leaf_type(type); - } else { + _dependencies->assert_leaf_type(type); + if (context != type) { assert(context->is_abstract(), ""); ThreadToNativeFromVM trans(JavaThread::current()); _dependencies->assert_abstract_with_unique_concrete_subtype(context, type); @@ -323,7 +322,10 @@ ciMethod* m = (ciMethod*) CURRENT_ENV->get_object(method); ciMethod* c = (ciMethod*) CURRENT_ENV->get_object(context); ciKlass* context_klass = c->holder(); - _dependencies->assert_unique_concrete_method(context_klass, m); + { + ThreadToNativeFromVM trans(JavaThread::current()); + _dependencies->assert_unique_concrete_method(context_klass, m); + } } void CodeInstaller::process_exception_handlers() {