/* * $Id$ * * Copyright (C) 2003-2015 JNode.org * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This library 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 Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; If not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.jnode.vm.x86.compiler; import org.jnode.assembler.x86.X86Constants; import org.jnode.assembler.x86.X86Register; import org.jnode.vm.VmStackFrame; /** * @author epr */ public interface X86CompilerConstants extends X86Constants { /** * Statics table register in 32-bit mode. * Do not change this constant! */ public static final X86Register.GPR32 STATICS32 = X86Register.EDI; /** * Statics table register in 64-bit mode. * Do not change this constant! */ public static final X86Register.GPR64 STATICS64 = X86Register.RDI; /** * VmProcessor register in 64-bit mode. * Do not change this constant! */ public static final X86Register.GPR64 PROCESSOR64 = X86Register.R12; /** * Size of a byte */ public static final int BYTESIZE = X86Constants.BITS8; /** * Size of a word */ public static final int WORDSIZE = X86Constants.BITS16; /** * Size of a int */ public static final int INTSIZE = X86Constants.BITS32; /** * Offset of LSB part of a long entry */ public static final int LSB = 0; /** * Offset of MSB part of a long entry */ public static final int MSB = 4; /** * Interrupt number for yieldpoints */ public static final int YIELDPOINT_INTNO = 0x30; /** * Interrupt number for abstract method */ public static final int ABSTRACT_METHOD_INTNO = 0x33; /** * Magic value for stub compiler */ public static final int STUB_COMPILER_MAGIC = VmStackFrame.MAGIC_COMPILED | 0x1A; /** * Magic value for L1 compiler */ public static final int L1_COMPILER_MAGIC = VmStackFrame.MAGIC_COMPILED | 0x2b; /** * Magic value for L1a compiler */ public static final int L1A_COMPILER_MAGIC = VmStackFrame.MAGIC_COMPILED | 0x3c; /** * Magic value for L1b compiler */ public static final int L1B_COMPILER_MAGIC = VmStackFrame.MAGIC_COMPILED | 0x3d; /** * Magic value for l2 compiler */ public static final int L2_COMPILER_MAGIC = VmStackFrame.MAGIC_COMPILED | 0x8e; }