comparison src/share/vm/code/pcDesc.hpp @ 1135:e66fd840cb6b

6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164) Summary: During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately. Reviewed-by: kvn, never
author twisti
date Mon, 04 Jan 2010 18:38:08 +0100
parents 8e954aedbb81
children f70b0d9ab095
comparison
equal deleted inserted replaced
1134:0910903272e5 1135:e66fd840cb6b
36 36
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 unsigned int is_method_handle_invoke: 1;
41 } bits; 42 } bits;
42 bool operator ==(const PcDescFlags& other) { return word == other.word; } 43 bool operator ==(const PcDescFlags& other) { return word == other.word; }
43 } _flags; 44 } _flags;
44 45
45 public: 46 public:
70 return _scope_decode_offset == pd->_scope_decode_offset && 71 return _scope_decode_offset == pd->_scope_decode_offset &&
71 _obj_decode_offset == pd->_obj_decode_offset && 72 _obj_decode_offset == pd->_obj_decode_offset &&
72 _flags == pd->_flags; 73 _flags == pd->_flags;
73 } 74 }
74 75
76 bool is_method_handle_invoke() const { return _flags.bits.is_method_handle_invoke; }
77 void set_is_method_handle_invoke(bool z) { _flags.bits.is_method_handle_invoke = z; }
78
75 // Returns the real pc 79 // Returns the real pc
76 address real_pc(const nmethod* code) const; 80 address real_pc(const nmethod* code) const;
77 81
78 void print(nmethod* code); 82 void print(nmethod* code);
79 bool verify(nmethod* code); 83 bool verify(nmethod* code);