src/share/vm/code/relocInfo.hpp

Print this page
rev 7258 : 8064611: AARCH64: Changes to HotSpot shared code
Summary: Everything except cpu/ and os_cpu/.
Reviewed-by: kvn


 413   // Both methods takes old_type, so it is able to performe sanity checks on the information removed.
 414   static void change_reloc_info_for_address(RelocIterator *itr, address pc, relocType old_type, relocType new_type);
 415   static void remove_reloc_info_for_address(RelocIterator *itr, address pc, relocType old_type);
 416 
 417   // Machine dependent stuff
 418 #ifdef TARGET_ARCH_x86
 419 # include "relocInfo_x86.hpp"
 420 #endif
 421 #ifdef TARGET_ARCH_sparc
 422 # include "relocInfo_sparc.hpp"
 423 #endif
 424 #ifdef TARGET_ARCH_zero
 425 # include "relocInfo_zero.hpp"
 426 #endif
 427 #ifdef TARGET_ARCH_arm
 428 # include "relocInfo_arm.hpp"
 429 #endif
 430 #ifdef TARGET_ARCH_ppc
 431 # include "relocInfo_ppc.hpp"
 432 #endif
 433 


 434 
 435  protected:
 436   // Derived constant, based on format_width which is PD:
 437   enum {
 438     offset_width       = nontype_width - format_width,
 439     offset_mask        = (1<<offset_width) - 1,
 440     format_mask        = (1<<format_width) - 1
 441   };
 442  public:
 443   enum {
 444     // Conservatively large estimate of maximum length (in shorts)
 445     // of any relocation record.
 446     // Extended format is length prefix, data words, and tag/offset suffix.
 447     length_limit       = 1 + 1 + (3*BytesPerWord/BytesPerShort) + 1,
 448     have_format        = format_width > 0
 449   };
 450 };
 451 
 452 #define FORWARD_DECLARE_EACH_CLASS(name)              \
 453 class name##_Relocation;




 413   // Both methods takes old_type, so it is able to performe sanity checks on the information removed.
 414   static void change_reloc_info_for_address(RelocIterator *itr, address pc, relocType old_type, relocType new_type);
 415   static void remove_reloc_info_for_address(RelocIterator *itr, address pc, relocType old_type);
 416 
 417   // Machine dependent stuff
 418 #ifdef TARGET_ARCH_x86
 419 # include "relocInfo_x86.hpp"
 420 #endif
 421 #ifdef TARGET_ARCH_sparc
 422 # include "relocInfo_sparc.hpp"
 423 #endif
 424 #ifdef TARGET_ARCH_zero
 425 # include "relocInfo_zero.hpp"
 426 #endif
 427 #ifdef TARGET_ARCH_arm
 428 # include "relocInfo_arm.hpp"
 429 #endif
 430 #ifdef TARGET_ARCH_ppc
 431 # include "relocInfo_ppc.hpp"
 432 #endif
 433 #ifdef TARGET_ARCH_aarch64
 434 # include "relocInfo_aarch64.hpp"
 435 #endif
 436 
 437  protected:
 438   // Derived constant, based on format_width which is PD:
 439   enum {
 440     offset_width       = nontype_width - format_width,
 441     offset_mask        = (1<<offset_width) - 1,
 442     format_mask        = (1<<format_width) - 1
 443   };
 444  public:
 445   enum {
 446     // Conservatively large estimate of maximum length (in shorts)
 447     // of any relocation record.
 448     // Extended format is length prefix, data words, and tag/offset suffix.
 449     length_limit       = 1 + 1 + (3*BytesPerWord/BytesPerShort) + 1,
 450     have_format        = format_width > 0
 451   };
 452 };
 453 
 454 #define FORWARD_DECLARE_EACH_CLASS(name)              \
 455 class name##_Relocation;