/* * $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.classmgr; /** * Variable pragma flags for methods. * * @author Ewout Prangsma (epr@users.sourceforge.net) * @see org.jnode.vm.classmgr.VmMethod#pragmaFlags */ public interface MethodPragmaFlags { /** * Method will not get any yieldpoints */ public static final char UNINTERRUPTIBLE = 0x0001; /** * Method will be inlined (if possible) */ public static final char INLINE = 0x0002; /** * Method will not be inlined */ public static final char NOINLINE = 0x0004; /** * Method header will reload the statics register */ public static final char LOADSTATICS = 0x0008; /** * Method used to implemented Privileged action */ public static final char DOPRIVILEGED = 0x0010; /** * Method used to implemented Privileged action */ public static final char CHECKPERMISSION = 0x0020; /** * Method will behave like a Privileged action */ public static final char PRIVILEGEDACTION = 0x0040; /** * No read barriers will be emitted */ public static final char NOREADBARRIER = 0x0080; /** * No write barriers will be emitted */ public static final char NOWRITEBARRIER = 0x0100; /** * Method is run in kernel space (ring 0) */ public static final char KERNELSPACE = 0x0200; }