Mercurial > hg > truffle
comparison src/share/vm/prims/methodHandles.cpp @ 3451:38fa55e5e792
7055355: JSR 292: crash while throwing WrongMethodTypeException
Reviewed-by: jrose, twisti, bdelsart
author | never |
---|---|
date | Thu, 16 Jun 2011 13:46:55 -0700 |
parents | a9b8b43b115f |
children | 81d815b05abb |
comparison
equal
deleted
inserted
replaced
3450:3275a6560cf7 | 3451:38fa55e5e792 |
---|---|
627 defc->link_class(CHECK); // possible safepoint | 627 defc->link_class(CHECK); // possible safepoint |
628 | 628 |
629 // convert the external string name to an internal symbol | 629 // convert the external string name to an internal symbol |
630 TempNewSymbol name = java_lang_String::as_symbol_or_null(name_str()); | 630 TempNewSymbol name = java_lang_String::as_symbol_or_null(name_str()); |
631 if (name == NULL) return; // no such name | 631 if (name == NULL) return; // no such name |
632 if (name == vmSymbols::class_initializer_name()) | |
633 return; // illegal name | |
632 | 634 |
633 Handle polymorphic_method_type; | 635 Handle polymorphic_method_type; |
634 bool polymorphic_signature = false; | 636 bool polymorphic_signature = false; |
635 if ((flags & ALL_KINDS) == IS_METHOD && | 637 if ((flags & ALL_KINDS) == IS_METHOD && |
636 (defc() == SystemDictionary::MethodHandle_klass() && | 638 (defc() == SystemDictionary::MethodHandle_klass() && |