Mercurial > hg > graal-compiler
changeset 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 | 55a61ceb2fe7 |
children | c0f353803b47 |
files | src/share/vm/oops/method.cpp |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/oops/method.cpp Fri Jul 19 11:17:19 2013 -0700 +++ b/src/share/vm/oops/method.cpp Mon Jul 22 17:57:42 2013 -0400 @@ -1163,6 +1163,7 @@ newm->constMethod()->set_constMethod_size(new_const_method_size); newm->set_method_size(new_method_size); assert(newm->code_size() == new_code_length, "check"); + assert(newm->method_parameters_length() == method_parameters_len, "check"); assert(newm->checked_exceptions_length() == checked_exceptions_len, "check"); assert(newm->exception_table_length() == exception_table_len, "check"); assert(newm->localvariable_table_length() == localvariable_len, "check"); @@ -1174,6 +1175,12 @@ new_compressed_linenumber_table, new_compressed_linenumber_size); } + // Copy method_parameters + if (method_parameters_len > 0) { + memcpy(newm->method_parameters_start(), + m->method_parameters_start(), + method_parameters_len * sizeof(MethodParametersElement)); + } // Copy checked_exceptions if (checked_exceptions_len > 0) { memcpy(newm->checked_exceptions_start(),