You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by gs...@apache.org on 2007/03/26 15:58:09 UTC
svn commit: r522516 -
/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Class_File_Loader.cpp
Author: gshimansky
Date: Mon Mar 26 06:58:08 2007
New Revision: 522516
URL: http://svn.apache.org/viewvc?view=rev&rev=522516
Log:
Applied HARMONY-3489 [drlvm][classloader] Fixed reason of vts failures on ClassFileParser
Modified:
harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Class_File_Loader.cpp
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Class_File_Loader.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Class_File_Loader.cpp?view=diff&rev=522516&r1=522515&r2=522516
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Class_File_Loader.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Class_File_Loader.cpp Mon Mar 26 06:58:08 2007
@@ -1183,6 +1183,7 @@
clss->get_name()->bytes << ": illegal handler_pc"
<< " for exception handler of code attribute for method "
<< method->get_name()->bytes << method->get_descriptor()->bytes);
+ return false;
}
uint16 catch_index;
@@ -2625,21 +2626,21 @@
case CONSTANT_InterfaceMethodref:
{
unsigned class_index = get_ref_class_index(i);
- unsigned name_type_index = get_ref_name_and_type_index(i);
- const char *next = NULL;
- String *name;
- String *descriptor;
- unsigned name_index = get_name_and_type_name_index(name_type_index);
- unsigned descriptor_index = get_name_and_type_descriptor_index(name_type_index);
if (!valid_cpi(clss, class_index, CONSTANT_Class, "for class name at CONSTANT_*ref entry")) {
return false;
}
+ unsigned name_type_index = get_ref_name_and_type_index(i);
if (!valid_cpi(clss, name_type_index, CONSTANT_NameAndType, "for name-and-type at CONSTANT_*ref entry")) {
return false;
- }
+ }
+ const char *next = NULL;
+ String *name;
+ String *descriptor;
+ unsigned name_index = get_name_and_type_name_index(name_type_index);
if(!valid_cpi(clss, name_index, CONSTANT_Utf8, "for name at CONSTANT_*ref entry")) {
return false;
- }
+ }
+ unsigned descriptor_index = get_name_and_type_descriptor_index(name_type_index);
if (!valid_cpi(clss, descriptor_index, CONSTANT_Utf8, "for descriptor at CONSTANT_*ref entry")) {
return false;
}