1 /* 2 * Copyright (c) 2001, 2019, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #ifndef CPU_SPARC_VMSTRUCTS_SPARC_HPP 26 #define CPU_SPARC_VMSTRUCTS_SPARC_HPP 27 28 // These are the CPU-specific fields, types and integer 29 // constants required by the Serviceability Agent. This file is 30 // referenced by vmStructs.cpp. 31 32 #define VM_STRUCTS_CPU(nonstatic_field, static_field, unchecked_nonstatic_field, volatile_nonstatic_field, nonproduct_nonstatic_field, c2_nonstatic_field, unchecked_c1_static_field, unchecked_c2_static_field) \ 33 volatile_nonstatic_field(JavaFrameAnchor, _flags, int) 34 35 #define VM_TYPES_CPU(declare_type, declare_toplevel_type, declare_oop_type, declare_integer_type, declare_unsigned_integer_type, declare_c1_toplevel_type, declare_c2_type, declare_c2_toplevel_type) \ 36 37 #define VM_INT_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) \ 38 /******************************/ \ 39 /* Register numbers (C2 only) */ \ 40 /******************************/ \ 41 \ 42 declare_c2_constant(R_L0_num) \ 43 declare_c2_constant(R_L1_num) \ 44 declare_c2_constant(R_L2_num) \ 45 declare_c2_constant(R_L3_num) \ 46 declare_c2_constant(R_L4_num) \ 47 declare_c2_constant(R_L5_num) \ 48 declare_c2_constant(R_L6_num) \ 49 declare_c2_constant(R_L7_num) \ 50 declare_c2_constant(R_I0_num) \ 51 declare_c2_constant(R_I1_num) \ 52 declare_c2_constant(R_I2_num) \ 53 declare_c2_constant(R_I3_num) \ 54 declare_c2_constant(R_I4_num) \ 55 declare_c2_constant(R_I5_num) \ 56 declare_c2_constant(R_FP_num) \ 57 declare_c2_constant(R_I7_num) \ 58 declare_c2_constant(R_O0_num) \ 59 declare_c2_constant(R_O1_num) \ 60 declare_c2_constant(R_O2_num) \ 61 declare_c2_constant(R_O3_num) \ 62 declare_c2_constant(R_O4_num) \ 63 declare_c2_constant(R_O5_num) \ 64 declare_c2_constant(R_SP_num) \ 65 declare_c2_constant(R_O7_num) \ 66 declare_c2_constant(R_G0_num) \ 67 declare_c2_constant(R_G1_num) \ 68 declare_c2_constant(R_G2_num) \ 69 declare_c2_constant(R_G3_num) \ 70 declare_c2_constant(R_G4_num) \ 71 declare_c2_constant(R_G5_num) \ 72 declare_c2_constant(R_G6_num) \ 73 declare_c2_constant(R_G7_num) \ 74 declare_constant(VM_Version::ISA_V9) \ 75 declare_constant(VM_Version::ISA_POPC) \ 76 declare_constant(VM_Version::ISA_VIS1) \ 77 declare_constant(VM_Version::ISA_VIS2) \ 78 declare_constant(VM_Version::ISA_BLK_INIT) \ 79 declare_constant(VM_Version::ISA_FMAF) \ 80 declare_constant(VM_Version::ISA_VIS3) \ 81 declare_constant(VM_Version::ISA_HPC) \ 82 declare_constant(VM_Version::ISA_IMA) \ 83 declare_constant(VM_Version::ISA_AES) \ 84 declare_constant(VM_Version::ISA_DES) \ 85 declare_constant(VM_Version::ISA_KASUMI) \ 86 declare_constant(VM_Version::ISA_CAMELLIA) \ 87 declare_constant(VM_Version::ISA_MD5) \ 88 declare_constant(VM_Version::ISA_SHA1) \ 89 declare_constant(VM_Version::ISA_SHA256) \ 90 declare_constant(VM_Version::ISA_SHA512) \ 91 declare_constant(VM_Version::ISA_MPMUL) \ 92 declare_constant(VM_Version::ISA_MONT) \ 93 declare_constant(VM_Version::ISA_PAUSE) \ 94 declare_constant(VM_Version::ISA_CBCOND) \ 95 declare_constant(VM_Version::ISA_CRC32C) \ 96 declare_constant(VM_Version::ISA_VIS3B) \ 97 declare_constant(VM_Version::ISA_ADI) \ 98 declare_constant(VM_Version::ISA_SPARC5) \ 99 declare_constant(VM_Version::ISA_MWAIT) \ 100 declare_constant(VM_Version::ISA_XMPMUL) \ 101 declare_constant(VM_Version::ISA_XMONT) \ 102 declare_constant(VM_Version::ISA_PAUSE_NSEC) \ 103 declare_constant(VM_Version::ISA_VAMASK) \ 104 declare_constant(VM_Version::ISA_SPARC6) \ 105 declare_constant(VM_Version::ISA_DICTUNP) \ 106 declare_constant(VM_Version::ISA_FPCMPSHL) \ 107 declare_constant(VM_Version::ISA_RLE) \ 108 declare_constant(VM_Version::ISA_SHA3) \ 109 declare_constant(VM_Version::ISA_VIS3C) \ 110 declare_constant(VM_Version::ISA_SPARC5B) \ 111 declare_constant(VM_Version::ISA_MME) \ 112 declare_constant(VM_Version::CPU_FAST_IDIV) \ 113 declare_constant(VM_Version::CPU_FAST_RDPC) \ 114 declare_constant(VM_Version::CPU_FAST_BIS) \ 115 declare_constant(VM_Version::CPU_FAST_LD) \ 116 declare_constant(VM_Version::CPU_FAST_CMOVE) \ 117 declare_constant(VM_Version::CPU_FAST_IND_BR) \ 118 declare_constant(VM_Version::CPU_BLK_ZEROING) 119 120 #define VM_LONG_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) 121 122 #endif // CPU_SPARC_VMSTRUCTS_SPARC_HPP