never@1445: /* trims@1907: * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved. kvn@1691: * Copyright 2007, 2008, 2010 Red Hat, Inc. never@1445: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. never@1445: * never@1445: * This code is free software; you can redistribute it and/or modify it never@1445: * under the terms of the GNU General Public License version 2 only, as never@1445: * published by the Free Software Foundation. never@1445: * never@1445: * This code is distributed in the hope that it will be useful, but WITHOUT never@1445: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or never@1445: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License never@1445: * version 2 for more details (a copy is included in the LICENSE file that never@1445: * accompanied this code). never@1445: * never@1445: * You should have received a copy of the GNU General Public License version never@1445: * 2 along with this work; if not, write to the Free Software Foundation, never@1445: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. never@1445: * trims@1907: * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA trims@1907: * or visit www.oracle.com if you need additional information or have any trims@1907: * questions. never@1445: * never@1445: */ never@1445: never@1445: protected: never@1445: // Size of interpreter code never@1445: const static int InterpreterCodeSize = 6 * K; never@1445: never@1445: public: never@1445: // Method entries twisti@1869: static int normal_entry(methodOop method, intptr_t UNUSED, TRAPS); twisti@1869: static int native_entry(methodOop method, intptr_t UNUSED, TRAPS); twisti@1869: static int accessor_entry(methodOop method, intptr_t UNUSED, TRAPS); twisti@1869: static int empty_entry(methodOop method, intptr_t UNUSED, TRAPS); never@1445: never@1445: public: never@1445: // Main loop of normal_entry never@1445: static void main_loop(int recurse, TRAPS); never@1445: never@1445: private: kvn@1691: // Fast result type determination kvn@1691: static BasicType result_type_of(methodOop method);