Mercurial > hg > graal-compiler
diff src/share/vm/classfile/stackMapTable.cpp @ 2477:3449f5e02cc4
Merge
author | coleenp |
---|---|
date | Tue, 12 Apr 2011 14:18:53 -0700 |
parents | 1d1603768966 7144a1d6e0a9 |
children | 4ee06e614636 |
line wrap: on
line diff
--- a/src/share/vm/classfile/stackMapTable.cpp Sat Apr 09 21:16:12 2011 -0700 +++ b/src/share/vm/classfile/stackMapTable.cpp Tue Apr 12 14:18:53 2011 -0700 @@ -98,10 +98,13 @@ bool result = true; StackMapFrame *stackmap_frame = _frame_array[frame_index]; if (match) { + // when checking handler target, match == true && update == false + bool is_exception_handler = !update; // Has direct control flow from last instruction, need to match the two // frames. result = frame->is_assignable_to( - stackmap_frame, CHECK_VERIFY_(frame->verifier(), false)); + stackmap_frame, is_exception_handler, + CHECK_VERIFY_(frame->verifier(), false)); } if (update) { // Use the frame in stackmap table as current frame