src/share/vm/opto/callnode.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6833129 Cdiff src/share/vm/opto/callnode.hpp

src/share/vm/opto/callnode.hpp

Print this page

        

*** 176,185 **** --- 176,192 ---- // plus GC roots, for all active calls at some call site in this compilation // unit. (If there is no inlining, then the list has exactly one link.) // This provides a way to map the optimized program back into the interpreter, // or to let the GC mark the stack. class JVMState : public ResourceObj { + public: + typedef enum { + RE_Undefined = -1, // not defined -- will be translated into false later + RE_False = 0, // false -- do not reexecute + RE_True = 1 // true -- reexecute the bytecode + } REBit; //ReExecution Bit + private: JVMState* _caller; // List pointer for forming scope chains uint _depth; // One mroe than caller depth, or one. uint _locoff; // Offset to locals in input edge mapping uint _stkoff; // Offset to stack in input edge mapping
*** 186,195 **** --- 193,203 ---- uint _monoff; // Offset to monitors in input edge mapping uint _scloff; // Offset to fields of scalar objs in input edge mapping 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 + REBit _reexecute; // Whether this bytecode need to be re-executed ciMethod* _method; // Method Pointer SafePointNode* _map; // Map node associated with this scope public: friend class Compile;
*** 222,231 **** --- 230,240 ---- bool is_mon(uint i) const { return i >= _monoff && i < _scloff; } bool is_scl(uint i) const { return i >= _scloff && i < _endoff; } uint sp() const { return _sp; } int bci() const { return _bci; } + REBit should_reexecute() const { return _reexecute; } bool has_method() const { return _method != NULL; } ciMethod* method() const { assert(has_method(), ""); return _method; } JVMState* caller() const { return _caller; } SafePointNode* map() const { return _map; } uint depth() const { return _depth; }
*** 266,275 **** --- 275,285 ---- _locoff = _stkoff = _monoff = _scloff = _endoff = off; } void set_map(SafePointNode *map) { _map = map; } void set_sp(uint sp) { _sp = sp; } void set_bci(int bci) { _bci = bci; } + void set_reexecute(REBit reexec) {_reexecute = reexec;} // Miscellaneous utility functions JVMState* clone_deep(Compile* C) const; // recursively clones caller chain JVMState* clone_shallow(Compile* C) const; // retains uncloned caller
src/share/vm/opto/callnode.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File