vmStructs_sparc.hpp revision 12160:43c36489d6fe
1/* 2 * Copyright (c) 2001, 2015, 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_VM_VMSTRUCTS_SPARC_HPP 26#define CPU_SPARC_VM_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::vis1_instructions_m) \ 75 declare_constant(VM_Version::vis2_instructions_m) \ 76 declare_constant(VM_Version::vis3_instructions_m) \ 77 declare_constant(VM_Version::cbcond_instructions_m) \ 78 declare_constant(VM_Version::v8_instructions_m) \ 79 declare_constant(VM_Version::hardware_mul32_m) \ 80 declare_constant(VM_Version::hardware_div32_m) \ 81 declare_constant(VM_Version::hardware_fsmuld_m) \ 82 declare_constant(VM_Version::hardware_popc_m) \ 83 declare_constant(VM_Version::v9_instructions_m) \ 84 declare_constant(VM_Version::sun4v_m) \ 85 declare_constant(VM_Version::blk_init_instructions_m) \ 86 declare_constant(VM_Version::fmaf_instructions_m) \ 87 declare_constant(VM_Version::sparc64_family_m) \ 88 declare_constant(VM_Version::M_family_m) \ 89 declare_constant(VM_Version::T_family_m) \ 90 declare_constant(VM_Version::T1_model_m) \ 91 declare_constant(VM_Version::sparc5_instructions_m) \ 92 declare_constant(VM_Version::aes_instructions_m) \ 93 declare_constant(VM_Version::sha1_instruction_m) \ 94 declare_constant(VM_Version::sha256_instruction_m) \ 95 declare_constant(VM_Version::sha512_instruction_m) 96 97#define VM_LONG_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) 98 99#endif // CPU_SPARC_VM_VMSTRUCTS_SPARC_HPP 100