Mercurial > hg > graal-compiler
diff src/share/vm/code/relocInfo.hpp @ 13553:d49f00604347
removed poll_Relocation::pollingForm type and associated data field and rely solely on format field of safepoint relocation entries when deciding whether or not to relocate the operand of a safepoint poll instruction
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 08 Jan 2014 16:57:30 +0100 |
parents | fa5180b3c18e |
children | d2c8b553f621 |
line wrap: on
line diff
--- a/src/share/vm/code/relocInfo.hpp Wed Jan 08 16:56:01 2014 +0100 +++ b/src/share/vm/code/relocInfo.hpp Wed Jan 08 16:57:30 2014 +0100 @@ -213,8 +213,7 @@ // relocInfo::poll_[return_]type -- a safepoint poll // Value: none // Instruction types: memory load or test -// Data: [] the associated set-oops are adjacent to the call -// [n] n is a poll_Relocation::pollingForm value +// Data: none // // For example: // @@ -1277,53 +1276,15 @@ section_word_Relocation() { } }; + class poll_Relocation : public Relocation { - public: - enum pollingForm { - pc_relative, - absolute - }; + bool is_data() { return true; } relocInfo::relocType type() { return relocInfo::poll_type; } - bool is_data() { return true; } void fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest); - private: - pollingForm _form; - public: - - static RelocationHolder spec(poll_Relocation::pollingForm form) { - RelocationHolder rh = newHolder(); - new(rh) poll_Relocation(form); - return rh; - } - - poll_Relocation(poll_Relocation::pollingForm form) { - _form = form; - } - poll_Relocation::pollingForm form() { return _form; } - - void pack_data_to(CodeSection* dest); - void unpack_data(); - - protected: - friend class RelocIterator; - poll_Relocation() { } }; class poll_return_Relocation : public poll_Relocation { - public: relocInfo::relocType type() { return relocInfo::poll_return_type; } - - static RelocationHolder spec(poll_Relocation::pollingForm distance) { - RelocationHolder rh = newHolder(); - new(rh) poll_return_Relocation(distance); - return rh; - } - - poll_return_Relocation(poll_Relocation::pollingForm distance) : poll_Relocation(distance) { } - - private: - friend class RelocIterator; - poll_return_Relocation() { } }; // We know all the xxx_Relocation classes, so now we can define these: