comparison src/share/vm/code/pcDesc.hpp @ 1014:8e954aedbb81

6889869: assert(!Interpreter::bytecode_should_reexecute(code),"should not reexecute") Reviewed-by: jrose, kvn, cfang, twisti
author never
date Wed, 14 Oct 2009 10:36:57 -0700
parents 72088be4b386
children e66fd840cb6b
comparison
equal deleted inserted replaced
1013:ce590301ae2a 1014:8e954aedbb81
37 union PcDescFlags { 37 union PcDescFlags {
38 int word; 38 int word;
39 struct { 39 struct {
40 unsigned int reexecute: 1; 40 unsigned int reexecute: 1;
41 } bits; 41 } bits;
42 bool operator ==(const PcDescFlags& other) { return word == other.word; }
42 } _flags; 43 } _flags;
43 44
44 public: 45 public:
45 int pc_offset() const { return _pc_offset; } 46 int pc_offset() const { return _pc_offset; }
46 int scope_decode_offset() const { return _scope_decode_offset; } 47 int scope_decode_offset() const { return _scope_decode_offset; }
62 63
63 // Flags 64 // Flags
64 bool should_reexecute() const { return _flags.bits.reexecute; } 65 bool should_reexecute() const { return _flags.bits.reexecute; }
65 void set_should_reexecute(bool z) { _flags.bits.reexecute = z; } 66 void set_should_reexecute(bool z) { _flags.bits.reexecute = z; }
66 67
68 // Does pd refer to the same information as pd?
69 bool is_same_info(const PcDesc* pd) {
70 return _scope_decode_offset == pd->_scope_decode_offset &&
71 _obj_decode_offset == pd->_obj_decode_offset &&
72 _flags == pd->_flags;
73 }
74
67 // Returns the real pc 75 // Returns the real pc
68 address real_pc(const nmethod* code) const; 76 address real_pc(const nmethod* code) const;
69 77
70 void print(nmethod* code); 78 void print(nmethod* code);
71 bool verify(nmethod* code); 79 bool verify(nmethod* code);