# HG changeset patch # User never # Date 1285645458 25200 # Node ID 1375bc8922e475cee69ef6750c7ee62aa088419f # Parent df015ec64052fd5796143efaa950a6d98b0388d1 6987763: assert(kind() == EmptyExceptionState) failed: only EmptyExceptionStates can be modified Reviewed-by: roland, kvn, iveresov diff -r df015ec64052 -r 1375bc8922e4 src/share/vm/c1/c1_ValueStack.hpp --- a/src/share/vm/c1/c1_ValueStack.hpp Mon Sep 27 15:04:40 2010 -0700 +++ b/src/share/vm/c1/c1_ValueStack.hpp Mon Sep 27 20:44:18 2010 -0700 @@ -68,7 +68,12 @@ ValueStack* copy(Kind new_kind, int new_bci) { return new ValueStack(this, new_kind, new_bci); } ValueStack* copy_for_parsing() { return new ValueStack(this, Parsing, -99); } - void set_caller_state(ValueStack* s) { assert(kind() == EmptyExceptionState, "only EmptyExceptionStates can be modified"); _caller_state = s; } + void set_caller_state(ValueStack* s) { + assert(kind() == EmptyExceptionState || + (Compilation::current()->env()->jvmti_can_access_local_variables() && kind() == ExceptionState), + "only EmptyExceptionStates can be modified"); + _caller_state = s; + } bool is_same(ValueStack* s); // returns true if this & s's types match (w/o checking locals)