comparison src/share/vm/c1/c1_ValueStack.hpp @ 1822:1375bc8922e4

6987763: assert(kind() == EmptyExceptionState) failed: only EmptyExceptionStates can be modified Reviewed-by: roland, kvn, iveresov
author never
date Mon, 27 Sep 2010 20:44:18 -0700
parents f02a8bbe6ed4
children f95d63e2154a
comparison
equal deleted inserted replaced
1821:df015ec64052 1822:1375bc8922e4
66 66
67 ValueStack* copy() { return new ValueStack(this, _kind, _bci); } 67 ValueStack* copy() { return new ValueStack(this, _kind, _bci); }
68 ValueStack* copy(Kind new_kind, int new_bci) { return new ValueStack(this, new_kind, new_bci); } 68 ValueStack* copy(Kind new_kind, int new_bci) { return new ValueStack(this, new_kind, new_bci); }
69 ValueStack* copy_for_parsing() { return new ValueStack(this, Parsing, -99); } 69 ValueStack* copy_for_parsing() { return new ValueStack(this, Parsing, -99); }
70 70
71 void set_caller_state(ValueStack* s) { assert(kind() == EmptyExceptionState, "only EmptyExceptionStates can be modified"); _caller_state = s; } 71 void set_caller_state(ValueStack* s) {
72 assert(kind() == EmptyExceptionState ||
73 (Compilation::current()->env()->jvmti_can_access_local_variables() && kind() == ExceptionState),
74 "only EmptyExceptionStates can be modified");
75 _caller_state = s;
76 }
72 77
73 bool is_same(ValueStack* s); // returns true if this & s's types match (w/o checking locals) 78 bool is_same(ValueStack* s); // returns true if this & s's types match (w/o checking locals)
74 79
75 // accessors 80 // accessors
76 IRScope* scope() const { return _scope; } 81 IRScope* scope() const { return _scope; }