299 #define NOT_AIX(code) code
300 #endif
301
302 #ifdef SOLARIS
303 #define SOLARIS_ONLY(code) code
304 #define NOT_SOLARIS(code)
305 #else
306 #define SOLARIS_ONLY(code)
307 #define NOT_SOLARIS(code) code
308 #endif
309
310 #ifdef _WINDOWS
311 #define WINDOWS_ONLY(code) code
312 #define NOT_WINDOWS(code)
313 #else
314 #define WINDOWS_ONLY(code)
315 #define NOT_WINDOWS(code) code
316 #endif
317
318 #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
319 #define BSD_ONLY(code) code
320 #define NOT_BSD(code)
321 #else
322 #define BSD_ONLY(code)
323 #define NOT_BSD(code) code
324 #endif
325
326 #ifdef _WIN64
327 #define WIN64_ONLY(code) code
328 #define NOT_WIN64(code)
329 #else
330 #define WIN64_ONLY(code)
331 #define NOT_WIN64(code) code
332 #endif
333
334 #if defined(ZERO)
335 #define ZERO_ONLY(code) code
336 #define NOT_ZERO(code)
337 #else
338 #define ZERO_ONLY(code)
412 #define PPC32_ONLY(code)
413 #define NOT_PPC32(code) code
414 #endif
415
416 #ifdef PPC64
417 #define PPC64_ONLY(code) code
418 #define NOT_PPC64(code)
419 #else
420 #define PPC64_ONLY(code)
421 #define NOT_PPC64(code) code
422 #endif
423
424 #ifdef E500V2
425 #define E500V2_ONLY(code) code
426 #define NOT_E500V2(code)
427 #else
428 #define E500V2_ONLY(code)
429 #define NOT_E500V2(code) code
430 #endif
431
432 #ifdef ARM
433 #define ARM_ONLY(code) code
434 #define NOT_ARM(code)
435 #else
436 #define ARM_ONLY(code)
437 #define NOT_ARM(code) code
438 #endif
439
440 #ifdef ARM32
441 #define ARM32_ONLY(code) code
442 #define NOT_ARM32(code)
443 #else
444 #define ARM32_ONLY(code)
445 #define NOT_ARM32(code) code
446 #endif
447
448 #ifdef AARCH64
449 #define AARCH64_ONLY(code) code
450 #define NOT_AARCH64(code)
451 #else
452 #define AARCH64_ONLY(code)
453 #define NOT_AARCH64(code) code
454 #endif
455
456 #ifdef JAVASE_EMBEDDED
457 #define EMBEDDED_ONLY(code) code
458 #define NOT_EMBEDDED(code)
459 #else
460 #define EMBEDDED_ONLY(code)
461 #define NOT_EMBEDDED(code) code
462 #endif
463
464 #define define_pd_global(type, name, value) const type pd_##name = value;
465
466 #endif // SHARE_VM_UTILITIES_MACROS_HPP
|
299 #define NOT_AIX(code) code
300 #endif
301
302 #ifdef SOLARIS
303 #define SOLARIS_ONLY(code) code
304 #define NOT_SOLARIS(code)
305 #else
306 #define SOLARIS_ONLY(code)
307 #define NOT_SOLARIS(code) code
308 #endif
309
310 #ifdef _WINDOWS
311 #define WINDOWS_ONLY(code) code
312 #define NOT_WINDOWS(code)
313 #else
314 #define WINDOWS_ONLY(code)
315 #define NOT_WINDOWS(code) code
316 #endif
317
318 #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
319 #define BSD
320 #define BSD_ONLY(code) code
321 #define NOT_BSD(code)
322 #else
323 #define BSD_ONLY(code)
324 #define NOT_BSD(code) code
325 #endif
326
327 #ifdef _WIN64
328 #define WIN64_ONLY(code) code
329 #define NOT_WIN64(code)
330 #else
331 #define WIN64_ONLY(code)
332 #define NOT_WIN64(code) code
333 #endif
334
335 #if defined(ZERO)
336 #define ZERO_ONLY(code) code
337 #define NOT_ZERO(code)
338 #else
339 #define ZERO_ONLY(code)
413 #define PPC32_ONLY(code)
414 #define NOT_PPC32(code) code
415 #endif
416
417 #ifdef PPC64
418 #define PPC64_ONLY(code) code
419 #define NOT_PPC64(code)
420 #else
421 #define PPC64_ONLY(code)
422 #define NOT_PPC64(code) code
423 #endif
424
425 #ifdef E500V2
426 #define E500V2_ONLY(code) code
427 #define NOT_E500V2(code)
428 #else
429 #define E500V2_ONLY(code)
430 #define NOT_E500V2(code) code
431 #endif
432
433 // Note: There are three ARM ports. They set the following in the makefiles:
434 // 1. Closed 32-bit port: -DARM -DARM32 -DTARGET_ARCH_arm
435 // 2. Closed 64-bit port: -DARM -DAARCH64 -D_LP64 -DTARGET_ARCH_arm
436 // 3. Open 64-bit port: -DAARCH64 -D_LP64 -DTARGET_ARCH_aaarch64
437 #ifdef ARM
438 #define ARM_ONLY(code) code
439 #define NOT_ARM(code)
440 #else
441 #define ARM_ONLY(code)
442 #define NOT_ARM(code) code
443 #endif
444
445 #ifdef ARM32
446 #define ARM32_ONLY(code) code
447 #define NOT_ARM32(code)
448 #else
449 #define ARM32_ONLY(code)
450 #define NOT_ARM32(code) code
451 #endif
452
453 #ifdef AARCH64
454 #define AARCH64_ONLY(code) code
455 #define NOT_AARCH64(code)
456 #else
457 #define AARCH64_ONLY(code)
458 #define NOT_AARCH64(code) code
459 #endif
460
461 #ifdef JAVASE_EMBEDDED
462 #define EMBEDDED_ONLY(code) code
463 #define NOT_EMBEDDED(code)
464 #else
465 #define EMBEDDED_ONLY(code)
466 #define NOT_EMBEDDED(code) code
467 #endif
468
469 #define define_pd_global(type, name, value) const type pd_##name = value;
470
471 // Helper macros for constructing file names for includes.
472 #define CPU_HEADER_STEM(basename) PASTE_TOKENS(basename, INCLUDE_SUFFIX_CPU)
473 #define OS_HEADER_STEM(basename) PASTE_TOKENS(basename, INCLUDE_SUFFIX_OS)
474 #define OS_CPU_HEADER_STEM(basename) PASTE_TOKENS(basename, PASTE_TOKENS(INCLUDE_SUFFIX_OS, INCLUDE_SUFFIX_CPU))
475
476 // Include platform dependent files.
477 //
478 // This macro constructs from basename and INCLUDE_SUFFIX_OS /
479 // INCLUDE_SUFFIX_CPU, which are set on the command line, the name of
480 // platform dependent files to be included.
481 // Example: INCLUDE_SUFFIX_OS=_linux / INCLUDE_SUFFIX_CPU=_sparc
482 // CPU_HEADER_INLINE(macroAssembler) --> macroAssembler_sparc.inline.hpp
483 // OS_CPU_HEADER(vmStructs) --> vmStructs_linux_sparc.hpp
484 //
485 // basename<cpu>.hpp / basename<cpu>.inline.hpp
486 #define CPU_HEADER_H(basename) XSTR(CPU_HEADER_STEM(basename).h)
487 #define CPU_HEADER(basename) XSTR(CPU_HEADER_STEM(basename).hpp)
488 #define CPU_HEADER_INLINE(basename) XSTR(CPU_HEADER_STEM(basename).inline.hpp)
489 // basename<os>.hpp / basename<os>.inline.hpp
490 #define OS_HEADER_H(basename) XSTR(OS_HEADER_STEM(basename).h)
491 #define OS_HEADER(basename) XSTR(OS_HEADER_STEM(basename).hpp)
492 #define OS_HEADER_INLINE(basename) XSTR(OS_HEADER_STEM(basename).inline.hpp)
493 // basename<os><cpu>.hpp / basename<os><cpu>.inline.hpp
494 #define OS_CPU_HEADER(basename) XSTR(OS_CPU_HEADER_STEM(basename).hpp)
495 #define OS_CPU_HEADER_INLINE(basename) XSTR(OS_CPU_HEADER_STEM(basename).inline.hpp)
496
497 #endif // SHARE_VM_UTILITIES_MACROS_HPP
|