hotspot/src/share/vm/c1/c1_ValueStack.hpp
changeset 6748 5084ee905ab5
parent 6745 a34ef8968a84
child 7397 5b173b4ca846
equal deleted inserted replaced
6747:ab166511728e 6748:5084ee905ab5
    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; }