Mercurial > hg > truffle
diff src/share/vm/code/relocInfo.hpp @ 14909:4ca6dc0799b6
Backout jdk9 merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Tue, 01 Apr 2014 13:57:07 +0200 |
parents | d8041d695d19 |
children | 52b4284cb496 |
line wrap: on
line diff
--- a/src/share/vm/code/relocInfo.hpp Tue Apr 01 14:09:03 2014 +0200 +++ b/src/share/vm/code/relocInfo.hpp Tue Apr 01 13:57:07 2014 +0200 @@ -265,8 +265,8 @@ poll_type = 10, // polling instruction for safepoints poll_return_type = 11, // polling instruction for safepoints at return metadata_type = 12, // metadata that used to be oops - trampoline_stub_type = 13, // stub-entry for trampoline - yet_unused_type_1 = 14, // Still unused + yet_unused_type_1 = 13, // Still unused + yet_unused_type_2 = 14, // Still unused data_prefix_tag = 15, // tag for a prefix (carries data arguments) type_mask = 15 // A mask which selects only the above values }; @@ -306,7 +306,6 @@ visitor(poll) \ visitor(poll_return) \ visitor(section_word) \ - visitor(trampoline_stub) \ public: @@ -465,7 +464,7 @@ return relocInfo(relocInfo::none, relocInfo::offset_limit() - relocInfo::offset_unit); } -inline relocInfo prefix_relocInfo(int datalen = 0) { +inline relocInfo prefix_relocInfo(int datalen) { assert(relocInfo::fits_into_immediate(datalen), "datalen in limits"); return relocInfo(relocInfo::data_prefix_tag, relocInfo::RAW_BITS, relocInfo::datalen_tag | datalen); } @@ -1156,43 +1155,6 @@ public: }; -// Trampoline Relocations. -// A trampoline allows to encode a small branch in the code, even if there -// is the chance that this branch can not reach all possible code locations. -// If the relocation finds that a branch is too far for the instruction -// in the code, it can patch it to jump to the trampoline where is -// sufficient space for a far branch. Needed on PPC. -class trampoline_stub_Relocation : public Relocation { - relocInfo::relocType type() { return relocInfo::trampoline_stub_type; } - - public: - static RelocationHolder spec(address static_call) { - RelocationHolder rh = newHolder(); - return (new (rh) trampoline_stub_Relocation(static_call)); - } - - private: - address _owner; // Address of the NativeCall that owns the trampoline. - - trampoline_stub_Relocation(address owner) { - _owner = owner; - } - - friend class RelocIterator; - trampoline_stub_Relocation() { } - - public: - - // Return the address of the NativeCall that owns the trampoline. - address owner() { return _owner; } - - void pack_data_to(CodeSection * dest); - void unpack_data(); - - // Find the trampoline stub for a call. - static address get_trampoline_for(address call, nmethod* code); -}; - class external_word_Relocation : public DataRelocation { relocInfo::relocType type() { return relocInfo::external_word_type; }