Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/method.cpp @ 11159:16511b7e3d35
8019632: Method parameters are not copied in clone_with_new_data
Summary: Add code to copy method parameters data in clone_with_new_data
Reviewed-by: coleenp, sspitsyn
author | emc |
---|---|
date | Mon, 22 Jul 2013 17:57:42 -0400 |
parents | e0c9a1d29eb4 |
children | 6b0fd0964b87 85147f28faba f99558245e5c |
comparison
equal
deleted
inserted
replaced
11158:55a61ceb2fe7 | 11159:16511b7e3d35 |
---|---|
1161 newm->set_constMethod(newcm); | 1161 newm->set_constMethod(newcm); |
1162 newm->constMethod()->set_code_size(new_code_length); | 1162 newm->constMethod()->set_code_size(new_code_length); |
1163 newm->constMethod()->set_constMethod_size(new_const_method_size); | 1163 newm->constMethod()->set_constMethod_size(new_const_method_size); |
1164 newm->set_method_size(new_method_size); | 1164 newm->set_method_size(new_method_size); |
1165 assert(newm->code_size() == new_code_length, "check"); | 1165 assert(newm->code_size() == new_code_length, "check"); |
1166 assert(newm->method_parameters_length() == method_parameters_len, "check"); | |
1166 assert(newm->checked_exceptions_length() == checked_exceptions_len, "check"); | 1167 assert(newm->checked_exceptions_length() == checked_exceptions_len, "check"); |
1167 assert(newm->exception_table_length() == exception_table_len, "check"); | 1168 assert(newm->exception_table_length() == exception_table_len, "check"); |
1168 assert(newm->localvariable_table_length() == localvariable_len, "check"); | 1169 assert(newm->localvariable_table_length() == localvariable_len, "check"); |
1169 // Copy new byte codes | 1170 // Copy new byte codes |
1170 memcpy(newm->code_base(), new_code, new_code_length); | 1171 memcpy(newm->code_base(), new_code, new_code_length); |
1171 // Copy line number table | 1172 // Copy line number table |
1172 if (new_compressed_linenumber_size > 0) { | 1173 if (new_compressed_linenumber_size > 0) { |
1173 memcpy(newm->compressed_linenumber_table(), | 1174 memcpy(newm->compressed_linenumber_table(), |
1174 new_compressed_linenumber_table, | 1175 new_compressed_linenumber_table, |
1175 new_compressed_linenumber_size); | 1176 new_compressed_linenumber_size); |
1177 } | |
1178 // Copy method_parameters | |
1179 if (method_parameters_len > 0) { | |
1180 memcpy(newm->method_parameters_start(), | |
1181 m->method_parameters_start(), | |
1182 method_parameters_len * sizeof(MethodParametersElement)); | |
1176 } | 1183 } |
1177 // Copy checked_exceptions | 1184 // Copy checked_exceptions |
1178 if (checked_exceptions_len > 0) { | 1185 if (checked_exceptions_len > 0) { |
1179 memcpy(newm->checked_exceptions_start(), | 1186 memcpy(newm->checked_exceptions_start(), |
1180 m->checked_exceptions_start(), | 1187 m->checked_exceptions_start(), |