| /* |
| * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. |
| * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| * |
| * This code is free software; you can redistribute it and/or modify it |
| * under the terms of the GNU General Public License version 2 only, as |
| * published by the Free Software Foundation. |
| * |
| * This code is distributed in the hope that it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| * version 2 for more details (a copy is included in the LICENSE file that |
| * accompanied this code). |
| * |
| * You should have received a copy of the GNU General Public License version |
| * 2 along with this work; if not, write to the Free Software Foundation, |
| * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| * |
| * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| * or visit www.oracle.com if you need additional information or have any |
| * questions. |
| * |
| */ |
| |
| // make sure the defines don't screw up the declarations later on in this file |
| #define DONT_USE_REGISTER_DEFINES |
| |
| #include "precompiled.hpp" |
| #include "asm/assembler.hpp" |
| #include "asm/register.hpp" |
| #include "interp_masm_sparc.hpp" |
| #include "register_sparc.hpp" |
| |
| REGISTER_DEFINITION(Register, noreg); |
| |
| REGISTER_DEFINITION(Register, G0); |
| REGISTER_DEFINITION(Register, G1); |
| REGISTER_DEFINITION(Register, G2); |
| REGISTER_DEFINITION(Register, G3); |
| REGISTER_DEFINITION(Register, G4); |
| REGISTER_DEFINITION(Register, G5); |
| REGISTER_DEFINITION(Register, G6); |
| REGISTER_DEFINITION(Register, G7); |
| |
| REGISTER_DEFINITION(Register, O0); |
| REGISTER_DEFINITION(Register, O1); |
| REGISTER_DEFINITION(Register, O2); |
| REGISTER_DEFINITION(Register, O3); |
| REGISTER_DEFINITION(Register, O4); |
| REGISTER_DEFINITION(Register, O5); |
| REGISTER_DEFINITION(Register, O6); |
| REGISTER_DEFINITION(Register, O7); |
| |
| REGISTER_DEFINITION(Register, L0); |
| REGISTER_DEFINITION(Register, L1); |
| REGISTER_DEFINITION(Register, L2); |
| REGISTER_DEFINITION(Register, L3); |
| REGISTER_DEFINITION(Register, L4); |
| REGISTER_DEFINITION(Register, L5); |
| REGISTER_DEFINITION(Register, L6); |
| REGISTER_DEFINITION(Register, L7); |
| |
| REGISTER_DEFINITION(Register, I0); |
| REGISTER_DEFINITION(Register, I1); |
| REGISTER_DEFINITION(Register, I2); |
| REGISTER_DEFINITION(Register, I3); |
| REGISTER_DEFINITION(Register, I4); |
| REGISTER_DEFINITION(Register, I5); |
| REGISTER_DEFINITION(Register, I6); |
| REGISTER_DEFINITION(Register, I7); |
| |
| REGISTER_DEFINITION(Register, FP); |
| REGISTER_DEFINITION(Register, SP); |
| |
| REGISTER_DEFINITION(FloatRegister, fnoreg); |
| REGISTER_DEFINITION(FloatRegister, F0); |
| REGISTER_DEFINITION(FloatRegister, F1); |
| REGISTER_DEFINITION(FloatRegister, F2); |
| REGISTER_DEFINITION(FloatRegister, F3); |
| REGISTER_DEFINITION(FloatRegister, F4); |
| REGISTER_DEFINITION(FloatRegister, F5); |
| REGISTER_DEFINITION(FloatRegister, F6); |
| REGISTER_DEFINITION(FloatRegister, F7); |
| REGISTER_DEFINITION(FloatRegister, F8); |
| REGISTER_DEFINITION(FloatRegister, F9); |
| REGISTER_DEFINITION(FloatRegister, F10); |
| REGISTER_DEFINITION(FloatRegister, F11); |
| REGISTER_DEFINITION(FloatRegister, F12); |
| REGISTER_DEFINITION(FloatRegister, F13); |
| REGISTER_DEFINITION(FloatRegister, F14); |
| REGISTER_DEFINITION(FloatRegister, F15); |
| REGISTER_DEFINITION(FloatRegister, F16); |
| REGISTER_DEFINITION(FloatRegister, F17); |
| REGISTER_DEFINITION(FloatRegister, F18); |
| REGISTER_DEFINITION(FloatRegister, F19); |
| REGISTER_DEFINITION(FloatRegister, F20); |
| REGISTER_DEFINITION(FloatRegister, F21); |
| REGISTER_DEFINITION(FloatRegister, F22); |
| REGISTER_DEFINITION(FloatRegister, F23); |
| REGISTER_DEFINITION(FloatRegister, F24); |
| REGISTER_DEFINITION(FloatRegister, F25); |
| REGISTER_DEFINITION(FloatRegister, F26); |
| REGISTER_DEFINITION(FloatRegister, F27); |
| REGISTER_DEFINITION(FloatRegister, F28); |
| REGISTER_DEFINITION(FloatRegister, F29); |
| REGISTER_DEFINITION(FloatRegister, F30); |
| REGISTER_DEFINITION(FloatRegister, F31); |
| REGISTER_DEFINITION(FloatRegister, F32); |
| REGISTER_DEFINITION(FloatRegister, F34); |
| REGISTER_DEFINITION(FloatRegister, F36); |
| REGISTER_DEFINITION(FloatRegister, F38); |
| REGISTER_DEFINITION(FloatRegister, F40); |
| REGISTER_DEFINITION(FloatRegister, F42); |
| REGISTER_DEFINITION(FloatRegister, F44); |
| REGISTER_DEFINITION(FloatRegister, F46); |
| REGISTER_DEFINITION(FloatRegister, F48); |
| REGISTER_DEFINITION(FloatRegister, F50); |
| REGISTER_DEFINITION(FloatRegister, F52); |
| REGISTER_DEFINITION(FloatRegister, F54); |
| REGISTER_DEFINITION(FloatRegister, F56); |
| REGISTER_DEFINITION(FloatRegister, F58); |
| REGISTER_DEFINITION(FloatRegister, F60); |
| REGISTER_DEFINITION(FloatRegister, F62); |
| |
| |
| REGISTER_DEFINITION( Register, Otos_i); |
| REGISTER_DEFINITION( Register, Otos_l); |
| REGISTER_DEFINITION( Register, Otos_l1); |
| REGISTER_DEFINITION( Register, Otos_l2); |
| REGISTER_DEFINITION(FloatRegister, Ftos_f); |
| REGISTER_DEFINITION(FloatRegister, Ftos_d); |
| REGISTER_DEFINITION(FloatRegister, Ftos_d1); |
| REGISTER_DEFINITION(FloatRegister, Ftos_d2); |
| |
| |
| REGISTER_DEFINITION(Register, G2_thread); |
| REGISTER_DEFINITION(Register, G6_heapbase); |
| REGISTER_DEFINITION(Register, G5_method); |
| REGISTER_DEFINITION(Register, G5_megamorphic_method); |
| REGISTER_DEFINITION(Register, G5_inline_cache_reg); |
| REGISTER_DEFINITION(Register, Gargs); |
| REGISTER_DEFINITION(Register, L7_thread_cache); |
| REGISTER_DEFINITION(Register, Gframe_size); |
| REGISTER_DEFINITION(Register, G1_scratch); |
| REGISTER_DEFINITION(Register, G3_scratch); |
| REGISTER_DEFINITION(Register, G4_scratch); |
| REGISTER_DEFINITION(Register, Gtemp); |
| REGISTER_DEFINITION(Register, Lentry_args); |
| |
| // JSR 292 |
| REGISTER_DEFINITION(Register, G5_method_type); |
| REGISTER_DEFINITION(Register, G3_method_handle); |
| REGISTER_DEFINITION(Register, L7_mh_SP_save); |
| |
| #ifdef CC_INTERP |
| REGISTER_DEFINITION(Register, Lstate); |
| REGISTER_DEFINITION(Register, L1_scratch); |
| REGISTER_DEFINITION(Register, Lmirror); |
| REGISTER_DEFINITION(Register, L2_scratch); |
| REGISTER_DEFINITION(Register, L3_scratch); |
| REGISTER_DEFINITION(Register, L4_scratch); |
| REGISTER_DEFINITION(Register, Lscratch); |
| REGISTER_DEFINITION(Register, Lscratch2); |
| REGISTER_DEFINITION(Register, L7_scratch); |
| REGISTER_DEFINITION(Register, I5_savedSP); |
| #else // CC_INTERP |
| REGISTER_DEFINITION(Register, Lesp); |
| REGISTER_DEFINITION(Register, Lbcp); |
| REGISTER_DEFINITION(Register, Lmonitors); |
| REGISTER_DEFINITION(Register, Lbyte_code); |
| REGISTER_DEFINITION(Register, Llast_SP); |
| REGISTER_DEFINITION(Register, Lscratch); |
| REGISTER_DEFINITION(Register, Lscratch2); |
| REGISTER_DEFINITION(Register, LcpoolCache); |
| REGISTER_DEFINITION(Register, I5_savedSP); |
| REGISTER_DEFINITION(Register, O5_savedSP); |
| REGISTER_DEFINITION(Register, IdispatchAddress); |
| REGISTER_DEFINITION(Register, ImethodDataPtr); |
| REGISTER_DEFINITION(Register, IdispatchTables); |
| #endif // CC_INTERP |
| REGISTER_DEFINITION(Register, Lmethod); |
| REGISTER_DEFINITION(Register, Llocals); |
| REGISTER_DEFINITION(Register, Oexception); |
| REGISTER_DEFINITION(Register, Oissuing_pc); |