Mercurial > hg > graal-jvmci-8
comparison src/share/vm/classfile/verifier.hpp @ 22893:695017a614d5
8075118: JVM stuck in infinite loop during verification
Summary: keep a list of handlers to prevent the same handler from being scanned repeatedly.
Reviewed-by: dlong, dholmes
author | hseigel |
---|---|
date | Thu, 19 Mar 2015 08:55:50 -0400 |
parents | 4b26b980ec8d |
children |
comparison
equal
deleted
inserted
replaced
22892:951689652d2c | 22893:695017a614d5 |
---|---|
303 RawBytecodeStream* bcs, u2 ref_index, VerificationType ref_class_type, | 303 RawBytecodeStream* bcs, u2 ref_index, VerificationType ref_class_type, |
304 StackMapFrame* current_frame, u4 code_length, bool in_try_block, | 304 StackMapFrame* current_frame, u4 code_length, bool in_try_block, |
305 bool* this_uninit, constantPoolHandle cp, StackMapTable* stackmap_table, | 305 bool* this_uninit, constantPoolHandle cp, StackMapTable* stackmap_table, |
306 TRAPS); | 306 TRAPS); |
307 | 307 |
308 // Used by ends_in_athrow() to push all handlers that contain bci onto | 308 // Used by ends_in_athrow() to push all handlers that contain bci onto the |
309 // the handler_stack, if the handler is not already on the stack. | 309 // handler_stack, if the handler has not already been pushed on the stack. |
310 void push_handlers(ExceptionTable* exhandlers, | 310 void push_handlers(ExceptionTable* exhandlers, |
311 GrowableArray<u4>* handler_list, | |
311 GrowableArray<u4>* handler_stack, | 312 GrowableArray<u4>* handler_stack, |
312 u4 bci); | 313 u4 bci); |
313 | 314 |
314 // Returns true if all paths starting with start_bc_offset end in athrow | 315 // Returns true if all paths starting with start_bc_offset end in athrow |
315 // bytecode or loop. | 316 // bytecode or loop. |