mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-22 16:26:05 +00:00
Merge
This commit is contained in:
commit
99fa0d1e99
@ -456,6 +456,8 @@ class Method : public Metadata {
|
||||
void print_codes_on(int from, int to, outputStream* st) const PRODUCT_RETURN;
|
||||
|
||||
// method parameters
|
||||
bool has_method_parameters() const
|
||||
{ return constMethod()->has_method_parameters(); }
|
||||
int method_parameters_length() const
|
||||
{ return constMethod()->method_parameters_length(); }
|
||||
MethodParametersElement* method_parameters_start() const
|
||||
|
||||
@ -1558,6 +1558,18 @@ void VM_RedefineClasses::rewrite_cp_refs_in_method(methodHandle method,
|
||||
} break;
|
||||
}
|
||||
} // end for each bytecode
|
||||
|
||||
// We also need to rewrite the parameter name indexes, if there is
|
||||
// method parameter data present
|
||||
if(method->has_method_parameters()) {
|
||||
const int len = method->method_parameters_length();
|
||||
MethodParametersElement* elem = method->method_parameters_start();
|
||||
|
||||
for (int i = 0; i < len; i++) {
|
||||
const u2 cp_index = elem[i].name_cp_index;
|
||||
elem[i].name_cp_index = find_new_index(cp_index);
|
||||
}
|
||||
}
|
||||
} // end rewrite_cp_refs_in_method()
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user