annotate src/cpu/aarch64/vm/register_definitions_aarch64.cpp @ 8306:b7e5b185e33a

8079564: Use FP register as proper frame pointer in JIT compiled code on aarch64 Summary: Add support for PreserveFramePointer for debug/profile Reviewed-by: kvn
author enevill
date Fri, 15 May 2015 09:21:48 +0000
parents 647c8b619d80
children fa25a40620af
rev   line source
aph@7879 1 /*
aph@7879 2 * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
aph@7879 3 * Copyright (c) 2014, Red Hat Inc. All rights reserved.
aph@7879 4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
aph@7879 5 *
aph@7879 6 * This code is free software; you can redistribute it and/or modify it
aph@7879 7 * under the terms of the GNU General Public License version 2 only, as
aph@7879 8 * published by the Free Software Foundation.
aph@7879 9 *
aph@7879 10 * This code is distributed in the hope that it will be useful, but WITHOUT
aph@7879 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
aph@7879 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
aph@7879 13 * version 2 for more details (a copy is included in the LICENSE file that
aph@7879 14 * accompanied this code).
aph@7879 15 *
aph@7879 16 * You should have received a copy of the GNU General Public License version
aph@7879 17 * 2 along with this work; if not, write to the Free Software Foundation,
aph@7879 18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
aph@7879 19 *
aph@7879 20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
aph@7879 21 * or visit www.oracle.com if you need additional information or have any
aph@7879 22 * questions.
aph@7879 23 *
aph@7879 24 */
aph@7879 25
aph@7879 26 #include "precompiled.hpp"
aph@7879 27 #include "asm/assembler.hpp"
aph@7879 28 #include "asm/register.hpp"
aph@7879 29 #include "register_aarch64.hpp"
aph@7879 30 # include "interp_masm_aarch64.hpp"
aph@7879 31
aph@7879 32 REGISTER_DEFINITION(Register, r0);
aph@7879 33 REGISTER_DEFINITION(Register, r1);
aph@7879 34 REGISTER_DEFINITION(Register, r2);
aph@7879 35 REGISTER_DEFINITION(Register, r3);
aph@7879 36 REGISTER_DEFINITION(Register, r4);
aph@7879 37 REGISTER_DEFINITION(Register, r5);
aph@7879 38 REGISTER_DEFINITION(Register, r6);
aph@7879 39 REGISTER_DEFINITION(Register, r7);
aph@7879 40 REGISTER_DEFINITION(Register, r8);
aph@7879 41 REGISTER_DEFINITION(Register, r9);
aph@7879 42 REGISTER_DEFINITION(Register, r10);
aph@7879 43 REGISTER_DEFINITION(Register, r11);
aph@7879 44 REGISTER_DEFINITION(Register, r12);
aph@7879 45 REGISTER_DEFINITION(Register, r13);
aph@7879 46 REGISTER_DEFINITION(Register, r14);
aph@7879 47 REGISTER_DEFINITION(Register, r15);
aph@7879 48 REGISTER_DEFINITION(Register, r16);
aph@7879 49 REGISTER_DEFINITION(Register, r17);
aph@7879 50 REGISTER_DEFINITION(Register, r18);
aph@7879 51 REGISTER_DEFINITION(Register, r19);
aph@7879 52 REGISTER_DEFINITION(Register, r20);
aph@7879 53 REGISTER_DEFINITION(Register, r21);
aph@7879 54 REGISTER_DEFINITION(Register, r22);
aph@7879 55 REGISTER_DEFINITION(Register, r23);
aph@7879 56 REGISTER_DEFINITION(Register, r24);
aph@7879 57 REGISTER_DEFINITION(Register, r25);
aph@7879 58 REGISTER_DEFINITION(Register, r26);
aph@7879 59 REGISTER_DEFINITION(Register, r27);
aph@7879 60 REGISTER_DEFINITION(Register, r28);
aph@7879 61 REGISTER_DEFINITION(Register, r29);
aph@7879 62 REGISTER_DEFINITION(Register, r30);
aph@7879 63 REGISTER_DEFINITION(Register, sp);
aph@7879 64
aph@7879 65 REGISTER_DEFINITION(FloatRegister, v0);
aph@7879 66 REGISTER_DEFINITION(FloatRegister, v1);
aph@7879 67 REGISTER_DEFINITION(FloatRegister, v2);
aph@7879 68 REGISTER_DEFINITION(FloatRegister, v3);
aph@7879 69 REGISTER_DEFINITION(FloatRegister, v4);
aph@7879 70 REGISTER_DEFINITION(FloatRegister, v5);
aph@7879 71 REGISTER_DEFINITION(FloatRegister, v6);
aph@7879 72 REGISTER_DEFINITION(FloatRegister, v7);
aph@7879 73 REGISTER_DEFINITION(FloatRegister, v8);
aph@7879 74 REGISTER_DEFINITION(FloatRegister, v9);
aph@7879 75 REGISTER_DEFINITION(FloatRegister, v10);
aph@7879 76 REGISTER_DEFINITION(FloatRegister, v11);
aph@7879 77 REGISTER_DEFINITION(FloatRegister, v12);
aph@7879 78 REGISTER_DEFINITION(FloatRegister, v13);
aph@7879 79 REGISTER_DEFINITION(FloatRegister, v14);
aph@7879 80 REGISTER_DEFINITION(FloatRegister, v15);
aph@7879 81 REGISTER_DEFINITION(FloatRegister, v16);
aph@7879 82 REGISTER_DEFINITION(FloatRegister, v17);
aph@7879 83 REGISTER_DEFINITION(FloatRegister, v18);
aph@7879 84 REGISTER_DEFINITION(FloatRegister, v19);
aph@7879 85 REGISTER_DEFINITION(FloatRegister, v20);
aph@7879 86 REGISTER_DEFINITION(FloatRegister, v21);
aph@7879 87 REGISTER_DEFINITION(FloatRegister, v22);
aph@7879 88 REGISTER_DEFINITION(FloatRegister, v23);
aph@7879 89 REGISTER_DEFINITION(FloatRegister, v24);
aph@7879 90 REGISTER_DEFINITION(FloatRegister, v25);
aph@7879 91 REGISTER_DEFINITION(FloatRegister, v26);
aph@7879 92 REGISTER_DEFINITION(FloatRegister, v27);
aph@7879 93 REGISTER_DEFINITION(FloatRegister, v28);
aph@7879 94 REGISTER_DEFINITION(FloatRegister, v29);
aph@7879 95 REGISTER_DEFINITION(FloatRegister, v30);
aph@7879 96 REGISTER_DEFINITION(FloatRegister, v31);
aph@7879 97
aph@7879 98 REGISTER_DEFINITION(Register, zr);
aph@7879 99
aph@7879 100 REGISTER_DEFINITION(Register, c_rarg0);
aph@7879 101 REGISTER_DEFINITION(Register, c_rarg1);
aph@7879 102 REGISTER_DEFINITION(Register, c_rarg2);
aph@7879 103 REGISTER_DEFINITION(Register, c_rarg3);
aph@7879 104 REGISTER_DEFINITION(Register, c_rarg4);
aph@7879 105 REGISTER_DEFINITION(Register, c_rarg5);
aph@7879 106 REGISTER_DEFINITION(Register, c_rarg6);
aph@7879 107 REGISTER_DEFINITION(Register, c_rarg7);
aph@7879 108
aph@7879 109 REGISTER_DEFINITION(FloatRegister, c_farg0);
aph@7879 110 REGISTER_DEFINITION(FloatRegister, c_farg1);
aph@7879 111 REGISTER_DEFINITION(FloatRegister, c_farg2);
aph@7879 112 REGISTER_DEFINITION(FloatRegister, c_farg3);
aph@7879 113 REGISTER_DEFINITION(FloatRegister, c_farg4);
aph@7879 114 REGISTER_DEFINITION(FloatRegister, c_farg5);
aph@7879 115 REGISTER_DEFINITION(FloatRegister, c_farg6);
aph@7879 116 REGISTER_DEFINITION(FloatRegister, c_farg7);
aph@7879 117
aph@7879 118 REGISTER_DEFINITION(Register, j_rarg0);
aph@7879 119 REGISTER_DEFINITION(Register, j_rarg1);
aph@7879 120 REGISTER_DEFINITION(Register, j_rarg2);
aph@7879 121 REGISTER_DEFINITION(Register, j_rarg3);
aph@7879 122 REGISTER_DEFINITION(Register, j_rarg4);
aph@7879 123 REGISTER_DEFINITION(Register, j_rarg5);
aph@7879 124 REGISTER_DEFINITION(Register, j_rarg6);
aph@7879 125 REGISTER_DEFINITION(Register, j_rarg7);
aph@7879 126
aph@7879 127 REGISTER_DEFINITION(FloatRegister, j_farg0);
aph@7879 128 REGISTER_DEFINITION(FloatRegister, j_farg1);
aph@7879 129 REGISTER_DEFINITION(FloatRegister, j_farg2);
aph@7879 130 REGISTER_DEFINITION(FloatRegister, j_farg3);
aph@7879 131 REGISTER_DEFINITION(FloatRegister, j_farg4);
aph@7879 132 REGISTER_DEFINITION(FloatRegister, j_farg5);
aph@7879 133 REGISTER_DEFINITION(FloatRegister, j_farg6);
aph@7879 134 REGISTER_DEFINITION(FloatRegister, j_farg7);
aph@7879 135
aph@7879 136 REGISTER_DEFINITION(Register, rscratch1);
aph@7879 137 REGISTER_DEFINITION(Register, rscratch2);
aph@7879 138 REGISTER_DEFINITION(Register, esp);
aph@7879 139 REGISTER_DEFINITION(Register, rdispatch);
aph@7879 140 REGISTER_DEFINITION(Register, rcpool);
aph@7879 141 REGISTER_DEFINITION(Register, rmonitors);
aph@7879 142 REGISTER_DEFINITION(Register, rlocals);
aph@7879 143 REGISTER_DEFINITION(Register, rmethod);
aph@7879 144 REGISTER_DEFINITION(Register, rbcp);
aph@7879 145
aph@7879 146 REGISTER_DEFINITION(Register, lr);
aph@7879 147 REGISTER_DEFINITION(Register, rfp);
aph@7879 148 REGISTER_DEFINITION(Register, rthread);
aph@7879 149 REGISTER_DEFINITION(Register, rheapbase);
aph@7879 150
aph@7879 151 REGISTER_DEFINITION(Register, r31_sp);