Mercurial > hg > truffle
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); |