comparison src/share/vm/oops/method.cpp @ 7184:5505fbbae3d3

Merge
author cjplummer
date Thu, 29 Nov 2012 13:55:49 -0800
parents 59c790074993 b2dbd323c668
children 291ffc492eb6 35431a769282 0c8717a92b2d
comparison
equal deleted inserted replaced
7182:c24f778e9401 7184:5505fbbae3d3
62 AccessFlags access_flags, 62 AccessFlags access_flags,
63 int compressed_line_number_size, 63 int compressed_line_number_size,
64 int localvariable_table_length, 64 int localvariable_table_length,
65 int exception_table_length, 65 int exception_table_length,
66 int checked_exceptions_length, 66 int checked_exceptions_length,
67 u2 generic_signature_index,
67 ConstMethod::MethodType method_type, 68 ConstMethod::MethodType method_type,
68 TRAPS) { 69 TRAPS) {
69 assert(!access_flags.is_native() || byte_code_size == 0, 70 assert(!access_flags.is_native() || byte_code_size == 0,
70 "native methods should not contain byte codes"); 71 "native methods should not contain byte codes");
71 ConstMethod* cm = ConstMethod::allocate(loader_data, 72 ConstMethod* cm = ConstMethod::allocate(loader_data,
72 byte_code_size, 73 byte_code_size,
73 compressed_line_number_size, 74 compressed_line_number_size,
74 localvariable_table_length, 75 localvariable_table_length,
75 exception_table_length, 76 exception_table_length,
76 checked_exceptions_length, 77 checked_exceptions_length,
78 generic_signature_index,
77 method_type, 79 method_type,
78 CHECK_NULL); 80 CHECK_NULL);
79 81
80 int size = Method::size(access_flags.is_native()); 82 int size = Method::size(access_flags.is_native());
81 83
1032 assert((flags_bits & JVM_ACC_PUBLIC) == 0, "do not expose these methods"); 1034 assert((flags_bits & JVM_ACC_PUBLIC) == 0, "do not expose these methods");
1033 1035
1034 methodHandle m; 1036 methodHandle m;
1035 { 1037 {
1036 Method* m_oop = Method::allocate(loader_data, 0, accessFlags_from(flags_bits), 1038 Method* m_oop = Method::allocate(loader_data, 0, accessFlags_from(flags_bits),
1037 0, 0, 0, 0, ConstMethod::NORMAL, CHECK_(empty)); 1039 0, 0, 0, 0, 0, ConstMethod::NORMAL, CHECK_(empty));
1038 m = methodHandle(THREAD, m_oop); 1040 m = methodHandle(THREAD, m_oop);
1039 } 1041 }
1040 m->set_constants(cp()); 1042 m->set_constants(cp());
1041 m->set_name_index(_imcp_invoke_name); 1043 m->set_name_index(_imcp_invoke_name);
1042 m->set_signature_index(_imcp_invoke_signature); 1044 m->set_signature_index(_imcp_invoke_signature);
1080 u_char* new_compressed_linenumber_table, int new_compressed_linenumber_size, TRAPS) { 1082 u_char* new_compressed_linenumber_table, int new_compressed_linenumber_size, TRAPS) {
1081 // Code below does not work for native methods - they should never get rewritten anyway 1083 // Code below does not work for native methods - they should never get rewritten anyway
1082 assert(!m->is_native(), "cannot rewrite native methods"); 1084 assert(!m->is_native(), "cannot rewrite native methods");
1083 // Allocate new Method* 1085 // Allocate new Method*
1084 AccessFlags flags = m->access_flags(); 1086 AccessFlags flags = m->access_flags();
1087 u2 generic_signature_index = m->generic_signature_index();
1085 int checked_exceptions_len = m->checked_exceptions_length(); 1088 int checked_exceptions_len = m->checked_exceptions_length();
1086 int localvariable_len = m->localvariable_table_length(); 1089 int localvariable_len = m->localvariable_table_length();
1087 int exception_table_len = m->exception_table_length(); 1090 int exception_table_len = m->exception_table_length();
1088 1091
1089 ClassLoaderData* loader_data = m->method_holder()->class_loader_data(); 1092 ClassLoaderData* loader_data = m->method_holder()->class_loader_data();
1092 flags, 1095 flags,
1093 new_compressed_linenumber_size, 1096 new_compressed_linenumber_size,
1094 localvariable_len, 1097 localvariable_len,
1095 exception_table_len, 1098 exception_table_len,
1096 checked_exceptions_len, 1099 checked_exceptions_len,
1100 generic_signature_index,
1097 m->method_type(), 1101 m->method_type(),
1098 CHECK_(methodHandle())); 1102 CHECK_(methodHandle()));
1099 methodHandle newm (THREAD, newm_oop); 1103 methodHandle newm (THREAD, newm_oop);
1100 int new_method_size = newm->method_size(); 1104 int new_method_size = newm->method_size();
1101 1105