1 /* 2 * Copyright 2002-2010 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 20 * CA 95054 USA or visit www.sun.com if you need additional information or 21 * have any questions. 22 * 23 */ 24 25 // make sure the defines don't screw up the declarations later on in this file 26 #define DONT_USE_REGISTER_DEFINES 27 28 #include "incls/_precompiled.incl" 29 #include "incls/_register_definitions_sparc.cpp.incl" 30 31 REGISTER_DEFINITION(Register, noreg); 32 33 REGISTER_DEFINITION(Register, G0); 34 REGISTER_DEFINITION(Register, G1); 35 REGISTER_DEFINITION(Register, G2); 36 REGISTER_DEFINITION(Register, G3); 37 REGISTER_DEFINITION(Register, G4); 38 REGISTER_DEFINITION(Register, G5); 39 REGISTER_DEFINITION(Register, G6); 40 REGISTER_DEFINITION(Register, G7); 41 42 REGISTER_DEFINITION(Register, O0); 43 REGISTER_DEFINITION(Register, O1); 44 REGISTER_DEFINITION(Register, O2); 45 REGISTER_DEFINITION(Register, O3); 46 REGISTER_DEFINITION(Register, O4); 47 REGISTER_DEFINITION(Register, O5); 48 REGISTER_DEFINITION(Register, O6); 49 REGISTER_DEFINITION(Register, O7); 50 51 REGISTER_DEFINITION(Register, L0); 52 REGISTER_DEFINITION(Register, L1); 53 REGISTER_DEFINITION(Register, L2); 54 REGISTER_DEFINITION(Register, L3); 55 REGISTER_DEFINITION(Register, L4); 56 REGISTER_DEFINITION(Register, L5); 57 REGISTER_DEFINITION(Register, L6); 58 REGISTER_DEFINITION(Register, L7); 59 60 REGISTER_DEFINITION(Register, I0); 61 REGISTER_DEFINITION(Register, I1); 62 REGISTER_DEFINITION(Register, I2); 63 REGISTER_DEFINITION(Register, I3); 64 REGISTER_DEFINITION(Register, I4); 65 REGISTER_DEFINITION(Register, I5); 66 REGISTER_DEFINITION(Register, I6); 67 REGISTER_DEFINITION(Register, I7); 68 69 REGISTER_DEFINITION(Register, FP); 70 REGISTER_DEFINITION(Register, SP); 71 72 REGISTER_DEFINITION(FloatRegister, fnoreg); 73 REGISTER_DEFINITION(FloatRegister, F0); 74 REGISTER_DEFINITION(FloatRegister, F1); 75 REGISTER_DEFINITION(FloatRegister, F2); 76 REGISTER_DEFINITION(FloatRegister, F3); 77 REGISTER_DEFINITION(FloatRegister, F4); 78 REGISTER_DEFINITION(FloatRegister, F5); 79 REGISTER_DEFINITION(FloatRegister, F6); 80 REGISTER_DEFINITION(FloatRegister, F7); 81 REGISTER_DEFINITION(FloatRegister, F8); 82 REGISTER_DEFINITION(FloatRegister, F9); 83 REGISTER_DEFINITION(FloatRegister, F10); 84 REGISTER_DEFINITION(FloatRegister, F11); 85 REGISTER_DEFINITION(FloatRegister, F12); 86 REGISTER_DEFINITION(FloatRegister, F13); 87 REGISTER_DEFINITION(FloatRegister, F14); 88 REGISTER_DEFINITION(FloatRegister, F15); 89 REGISTER_DEFINITION(FloatRegister, F16); 90 REGISTER_DEFINITION(FloatRegister, F17); 91 REGISTER_DEFINITION(FloatRegister, F18); 92 REGISTER_DEFINITION(FloatRegister, F19); 93 REGISTER_DEFINITION(FloatRegister, F20); 94 REGISTER_DEFINITION(FloatRegister, F21); 95 REGISTER_DEFINITION(FloatRegister, F22); 96 REGISTER_DEFINITION(FloatRegister, F23); 97 REGISTER_DEFINITION(FloatRegister, F24); 98 REGISTER_DEFINITION(FloatRegister, F25); 99 REGISTER_DEFINITION(FloatRegister, F26); 100 REGISTER_DEFINITION(FloatRegister, F27); 101 REGISTER_DEFINITION(FloatRegister, F28); 102 REGISTER_DEFINITION(FloatRegister, F29); 103 REGISTER_DEFINITION(FloatRegister, F30); 104 REGISTER_DEFINITION(FloatRegister, F31); 105 REGISTER_DEFINITION(FloatRegister, F32); 106 REGISTER_DEFINITION(FloatRegister, F34); 107 REGISTER_DEFINITION(FloatRegister, F36); 108 REGISTER_DEFINITION(FloatRegister, F38); 109 REGISTER_DEFINITION(FloatRegister, F40); 110 REGISTER_DEFINITION(FloatRegister, F42); 111 REGISTER_DEFINITION(FloatRegister, F44); 112 REGISTER_DEFINITION(FloatRegister, F46); 113 REGISTER_DEFINITION(FloatRegister, F48); 114 REGISTER_DEFINITION(FloatRegister, F50); 115 REGISTER_DEFINITION(FloatRegister, F52); 116 REGISTER_DEFINITION(FloatRegister, F54); 117 REGISTER_DEFINITION(FloatRegister, F56); 118 REGISTER_DEFINITION(FloatRegister, F58); 119 REGISTER_DEFINITION(FloatRegister, F60); 120 REGISTER_DEFINITION(FloatRegister, F62); 121 122 123 REGISTER_DEFINITION( Register, Otos_i); 124 REGISTER_DEFINITION( Register, Otos_l); 125 REGISTER_DEFINITION( Register, Otos_l1); 126 REGISTER_DEFINITION( Register, Otos_l2); 127 REGISTER_DEFINITION(FloatRegister, Ftos_f); 128 REGISTER_DEFINITION(FloatRegister, Ftos_d); 129 REGISTER_DEFINITION(FloatRegister, Ftos_d1); 130 REGISTER_DEFINITION(FloatRegister, Ftos_d2); 131 132 133 REGISTER_DEFINITION(Register, G2_thread); 134 REGISTER_DEFINITION(Register, G6_heapbase); 135 REGISTER_DEFINITION(Register, G5_method); 136 REGISTER_DEFINITION(Register, G5_megamorphic_method); 137 REGISTER_DEFINITION(Register, G5_inline_cache_reg); 138 REGISTER_DEFINITION(Register, Gargs); 139 REGISTER_DEFINITION(Register, L7_thread_cache); 140 REGISTER_DEFINITION(Register, Gframe_size); 141 REGISTER_DEFINITION(Register, G1_scratch); 142 REGISTER_DEFINITION(Register, G3_scratch); 143 REGISTER_DEFINITION(Register, G4_scratch); 144 REGISTER_DEFINITION(Register, Gtemp); 145 REGISTER_DEFINITION(Register, Lentry_args); 146 147 // JSR 292 148 REGISTER_DEFINITION(Register, G5_method_type); 149 REGISTER_DEFINITION(Register, G3_method_handle); 150 REGISTER_DEFINITION(Register, L7_mh_SP_save); 151 152 #ifdef CC_INTERP 153 REGISTER_DEFINITION(Register, Lstate); 154 REGISTER_DEFINITION(Register, L1_scratch); 155 REGISTER_DEFINITION(Register, Lmirror); 156 REGISTER_DEFINITION(Register, L2_scratch); 157 REGISTER_DEFINITION(Register, L3_scratch); 158 REGISTER_DEFINITION(Register, L4_scratch); 159 REGISTER_DEFINITION(Register, Lscratch); 160 REGISTER_DEFINITION(Register, Lscratch2); 161 REGISTER_DEFINITION(Register, L7_scratch); 162 REGISTER_DEFINITION(Register, I5_savedSP); 163 #else // CC_INTERP 164 REGISTER_DEFINITION(Register, Lesp); 165 REGISTER_DEFINITION(Register, Lbcp); 166 REGISTER_DEFINITION(Register, Lmonitors); 167 REGISTER_DEFINITION(Register, Lbyte_code); 168 REGISTER_DEFINITION(Register, Llast_SP); 169 REGISTER_DEFINITION(Register, Lscratch); 170 REGISTER_DEFINITION(Register, Lscratch2); 171 REGISTER_DEFINITION(Register, LcpoolCache); 172 REGISTER_DEFINITION(Register, I5_savedSP); 173 REGISTER_DEFINITION(Register, O5_savedSP); 174 REGISTER_DEFINITION(Register, IdispatchAddress); 175 REGISTER_DEFINITION(Register, ImethodDataPtr); 176 REGISTER_DEFINITION(Register, IdispatchTables); 177 #endif // CC_INTERP 178 REGISTER_DEFINITION(Register, Lmethod); 179 REGISTER_DEFINITION(Register, Llocals); 180 REGISTER_DEFINITION(Register, Oexception); 181 REGISTER_DEFINITION(Register, Oissuing_pc);