mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8057845: ClassVerifier::verify_exception_handler_targets reconstructs the ExceptionTable in a loop
Construct the ExceptionTable only once, before the loop Reviewed-by: acorn, jiangli, coleenp, lfoltan
This commit is contained in:
parent
4d8eb788f4
commit
1bae14de54
1 changed files with 0 additions and 4 deletions
|
@ -1694,8 +1694,6 @@ void ClassVerifier::verify_exception_handler_table(u4 code_length, char* code_da
|
||||||
constantPoolHandle cp (THREAD, _method->constants());
|
constantPoolHandle cp (THREAD, _method->constants());
|
||||||
|
|
||||||
for(int i = 0; i < exlength; i++) {
|
for(int i = 0; i < exlength; i++) {
|
||||||
//reacquire the table in case a GC happened
|
|
||||||
ExceptionTable exhandlers(_method());
|
|
||||||
u2 start_pc = exhandlers.start_pc(i);
|
u2 start_pc = exhandlers.start_pc(i);
|
||||||
u2 end_pc = exhandlers.end_pc(i);
|
u2 end_pc = exhandlers.end_pc(i);
|
||||||
u2 handler_pc = exhandlers.handler_pc(i);
|
u2 handler_pc = exhandlers.handler_pc(i);
|
||||||
|
@ -1803,8 +1801,6 @@ void ClassVerifier::verify_exception_handler_targets(u2 bci, bool this_uninit, S
|
||||||
ExceptionTable exhandlers(_method());
|
ExceptionTable exhandlers(_method());
|
||||||
int exlength = exhandlers.length();
|
int exlength = exhandlers.length();
|
||||||
for(int i = 0; i < exlength; i++) {
|
for(int i = 0; i < exlength; i++) {
|
||||||
//reacquire the table in case a GC happened
|
|
||||||
ExceptionTable exhandlers(_method());
|
|
||||||
u2 start_pc = exhandlers.start_pc(i);
|
u2 start_pc = exhandlers.start_pc(i);
|
||||||
u2 end_pc = exhandlers.end_pc(i);
|
u2 end_pc = exhandlers.end_pc(i);
|
||||||
u2 handler_pc = exhandlers.handler_pc(i);
|
u2 handler_pc = exhandlers.handler_pc(i);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue