< prev index next >

src/hotspot/share/utilities/macros.hpp

Print this page




 524 #define PPC32_ONLY(code)
 525 #define NOT_PPC32(code) code
 526 #endif
 527 
 528 #ifdef PPC64
 529 #define PPC64_ONLY(code) code
 530 #define NOT_PPC64(code)
 531 #else
 532 #define PPC64_ONLY(code)
 533 #define NOT_PPC64(code) code
 534 #endif
 535 
 536 #ifdef E500V2
 537 #define E500V2_ONLY(code) code
 538 #define NOT_E500V2(code)
 539 #else
 540 #define E500V2_ONLY(code)
 541 #define NOT_E500V2(code) code
 542 #endif
 543 
 544 // Note: There are three ARM ports. They set the following in the makefiles:
 545 // 1. Closed 32-bit port:   -DARM -DARM32           -DTARGET_ARCH_arm
 546 // 2. Closed 64-bit port:   -DARM -DAARCH64 -D_LP64 -DTARGET_ARCH_arm
 547 // 3. Open   64-bit port:         -DAARCH64 -D_LP64 -DTARGET_ARCH_aaarch64

 548 #ifdef ARM
 549 #define ARM_ONLY(code) code
 550 #define NOT_ARM(code)
 551 #else
 552 #define ARM_ONLY(code)
 553 #define NOT_ARM(code) code
 554 #endif
 555 
 556 #ifdef ARM32
 557 #define ARM32_ONLY(code) code
 558 #define NOT_ARM32(code)
 559 #else
 560 #define ARM32_ONLY(code)
 561 #define NOT_ARM32(code) code
 562 #endif
 563 
 564 #ifdef AARCH64
 565 #define AARCH64_ONLY(code) code
 566 #define NOT_AARCH64(code)
 567 #else
 568 #define AARCH64_ONLY(code)
 569 #define NOT_AARCH64(code) code
 570 #endif
 571 
 572 #ifdef VM_LITTLE_ENDIAN
 573 #define LITTLE_ENDIAN_ONLY(code) code
 574 #define BIG_ENDIAN_ONLY(code)
 575 #else
 576 #define LITTLE_ENDIAN_ONLY(code)
 577 #define BIG_ENDIAN_ONLY(code) code
 578 #endif
 579 








 580 #define define_pd_global(type, name, value) const type pd_##name = value;
 581 
 582 // Helper macros for constructing file names for includes.
 583 #define CPU_HEADER_STEM(basename) PASTE_TOKENS(basename, INCLUDE_SUFFIX_CPU)
 584 #define OS_HEADER_STEM(basename) PASTE_TOKENS(basename, INCLUDE_SUFFIX_OS)
 585 #define OS_CPU_HEADER_STEM(basename) PASTE_TOKENS(basename, PASTE_TOKENS(INCLUDE_SUFFIX_OS, INCLUDE_SUFFIX_CPU))
 586 #define COMPILER_HEADER_STEM(basename) PASTE_TOKENS(basename, INCLUDE_SUFFIX_COMPILER)
 587 
 588 // Include platform dependent files.
 589 //
 590 // This macro constructs from basename and INCLUDE_SUFFIX_OS /
 591 // INCLUDE_SUFFIX_CPU / INCLUDE_SUFFIX_COMPILER, which are set on
 592 // the command line, the name of platform dependent files to be included.
 593 // Example: INCLUDE_SUFFIX_OS=_linux / INCLUDE_SUFFIX_CPU=_sparc
 594 //   CPU_HEADER_INLINE(macroAssembler) --> macroAssembler_sparc.inline.hpp
 595 //   OS_CPU_HEADER(vmStructs)          --> vmStructs_linux_sparc.hpp
 596 //
 597 // basename<cpu>.hpp / basename<cpu>.inline.hpp
 598 #define CPU_HEADER_H(basename)         XSTR(CPU_HEADER_STEM(basename).h)
 599 #define CPU_HEADER(basename)           XSTR(CPU_HEADER_STEM(basename).hpp)




 524 #define PPC32_ONLY(code)
 525 #define NOT_PPC32(code) code
 526 #endif
 527 
 528 #ifdef PPC64
 529 #define PPC64_ONLY(code) code
 530 #define NOT_PPC64(code)
 531 #else
 532 #define PPC64_ONLY(code)
 533 #define NOT_PPC64(code) code
 534 #endif
 535 
 536 #ifdef E500V2
 537 #define E500V2_ONLY(code) code
 538 #define NOT_E500V2(code)
 539 #else
 540 #define E500V2_ONLY(code)
 541 #define NOT_E500V2(code) code
 542 #endif
 543 
 544 // Note: There are four ARM ports. They set the following in the makefiles:
 545 // 1. Closed 32-bit port:   -DARM -DARM32           -DTARGET_ARCH_arm
 546 // 2. Closed 64-bit port:   -DARM -DAARCH64 -D_LP64 -DTARGET_ARCH_arm
 547 // 3. Open   64-bit port:         -DAARCH64 -D_LP64 -DTARGET_ARCH_aaarch64
 548 // 4. Open   32-bit port:         -DAARCH32         -DTARGET_ARCH_aarch32
 549 #ifdef ARM
 550 #define ARM_ONLY(code) code
 551 #define NOT_ARM(code)
 552 #else
 553 #define ARM_ONLY(code)
 554 #define NOT_ARM(code) code
 555 #endif
 556 
 557 #ifdef ARM32
 558 #define ARM32_ONLY(code) code
 559 #define NOT_ARM32(code)
 560 #else
 561 #define ARM32_ONLY(code)
 562 #define NOT_ARM32(code) code
 563 #endif
 564 
 565 #ifdef AARCH64
 566 #define AARCH64_ONLY(code) code
 567 #define NOT_AARCH64(code)
 568 #else
 569 #define AARCH64_ONLY(code)
 570 #define NOT_AARCH64(code) code
 571 #endif
 572 
 573 #ifdef VM_LITTLE_ENDIAN
 574 #define LITTLE_ENDIAN_ONLY(code) code
 575 #define BIG_ENDIAN_ONLY(code)
 576 #else
 577 #define LITTLE_ENDIAN_ONLY(code)
 578 #define BIG_ENDIAN_ONLY(code) code
 579 #endif
 580 
 581 #ifdef AARCH32
 582 #define AARCH32_ONLY(code) code
 583 #define NOT_AARCH32(code)
 584 #else
 585 #define AARCH32_ONLY(code)
 586 #define NOT_AARCH32(code) code
 587 #endif
 588 
 589 #define define_pd_global(type, name, value) const type pd_##name = value;
 590 
 591 // Helper macros for constructing file names for includes.
 592 #define CPU_HEADER_STEM(basename) PASTE_TOKENS(basename, INCLUDE_SUFFIX_CPU)
 593 #define OS_HEADER_STEM(basename) PASTE_TOKENS(basename, INCLUDE_SUFFIX_OS)
 594 #define OS_CPU_HEADER_STEM(basename) PASTE_TOKENS(basename, PASTE_TOKENS(INCLUDE_SUFFIX_OS, INCLUDE_SUFFIX_CPU))
 595 #define COMPILER_HEADER_STEM(basename) PASTE_TOKENS(basename, INCLUDE_SUFFIX_COMPILER)
 596 
 597 // Include platform dependent files.
 598 //
 599 // This macro constructs from basename and INCLUDE_SUFFIX_OS /
 600 // INCLUDE_SUFFIX_CPU / INCLUDE_SUFFIX_COMPILER, which are set on
 601 // the command line, the name of platform dependent files to be included.
 602 // Example: INCLUDE_SUFFIX_OS=_linux / INCLUDE_SUFFIX_CPU=_sparc
 603 //   CPU_HEADER_INLINE(macroAssembler) --> macroAssembler_sparc.inline.hpp
 604 //   OS_CPU_HEADER(vmStructs)          --> vmStructs_linux_sparc.hpp
 605 //
 606 // basename<cpu>.hpp / basename<cpu>.inline.hpp
 607 #define CPU_HEADER_H(basename)         XSTR(CPU_HEADER_STEM(basename).h)
 608 #define CPU_HEADER(basename)           XSTR(CPU_HEADER_STEM(basename).hpp)


< prev index next >