--- old/src/share/vm/opto/callnode.hpp Mon Jul 6 17:13:54 2009 +++ new/src/share/vm/opto/callnode.hpp Mon Jul 6 17:13:54 2009 @@ -188,6 +188,7 @@ uint _endoff; // Offset to end of input edge mapping uint _sp; // Jave Expression Stack Pointer for this state int _bci; // Byte Code Index of this JVM point + bool _restart; // whether this bytecode need to be re-executed ciMethod* _method; // Method Pointer SafePointNode* _map; // Map node associated with this scope public: @@ -224,6 +225,7 @@ uint sp() const { return _sp; } int bci() const { return _bci; } + bool is_restart() const { return _restart; } bool has_method() const { return _method != NULL; } ciMethod* method() const { assert(has_method(), ""); return _method; } JVMState* caller() const { return _caller; } @@ -267,7 +269,8 @@ } void set_map(SafePointNode *map) { _map = map; } void set_sp(uint sp) { _sp = sp; } - void set_bci(int bci) { _bci = bci; } + void set_bci(int bci) { assert(!_restart, ""); _bci = bci; } + void set_restart(bool restart) {_restart = restart;} // Miscellaneous utility functions JVMState* clone_deep(Compile* C) const; // recursively clones caller chain