hotspot/src/share/vm/interpreter/abstractInterpreter.hpp
changeset 25715 d5a8dbdc5150
parent 24018 77b156916bab
child 25950 b5c40ed1d349
equal deleted inserted replaced
25469:3bcfa1db9717 25715:d5a8dbdc5150
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    23  */
    23  */
    24 
    24 
    25 #ifndef SHARE_VM_INTERPRETER_ABSTRACTINTERPRETER_HPP
    25 #ifndef SHARE_VM_INTERPRETER_ABSTRACTINTERPRETER_HPP
    26 #define SHARE_VM_INTERPRETER_ABSTRACTINTERPRETER_HPP
    26 #define SHARE_VM_INTERPRETER_ABSTRACTINTERPRETER_HPP
    27 
    27 
       
    28 #include "asm/macroAssembler.hpp"
    28 #include "code/stubs.hpp"
    29 #include "code/stubs.hpp"
    29 #include "interpreter/bytecodes.hpp"
    30 #include "interpreter/bytecodes.hpp"
    30 #include "runtime/thread.inline.hpp"
    31 #include "runtime/thread.inline.hpp"
    31 #include "runtime/vmThread.hpp"
    32 #include "runtime/vmThread.hpp"
    32 #include "utilities/top.hpp"
    33 #include "utilities/top.hpp"
    33 #ifdef TARGET_ARCH_x86
       
    34 # include "interp_masm_x86.hpp"
       
    35 #endif
       
    36 #ifdef TARGET_ARCH_MODEL_sparc
       
    37 # include "interp_masm_sparc.hpp"
       
    38 #endif
       
    39 #ifdef TARGET_ARCH_MODEL_zero
       
    40 # include "interp_masm_zero.hpp"
       
    41 #endif
       
    42 #ifdef TARGET_ARCH_MODEL_arm
       
    43 # include "interp_masm_arm.hpp"
       
    44 #endif
       
    45 #ifdef TARGET_ARCH_MODEL_ppc_32
       
    46 # include "interp_masm_ppc_32.hpp"
       
    47 #endif
       
    48 #ifdef TARGET_ARCH_MODEL_ppc_64
       
    49 # include "interp_masm_ppc_64.hpp"
       
    50 #endif
       
    51 
    34 
    52 // This file contains the platform-independent parts
    35 // This file contains the platform-independent parts
    53 // of the abstract interpreter and the abstract interpreter generator.
    36 // of the abstract interpreter and the abstract interpreter generator.
    54 
    37 
    55 // Organization of the interpreter(s). There exists two different interpreters in hotpot
    38 // Organization of the interpreter(s). There exists two different interpreters in hotpot
    72 // interpreter*:            generic frame creation and handling.
    55 // interpreter*:            generic frame creation and handling.
    73 //
    56 //
    74 
    57 
    75 //------------------------------------------------------------------------------------------------------------------------
    58 //------------------------------------------------------------------------------------------------------------------------
    76 // The C++ interface to the bytecode interpreter(s).
    59 // The C++ interface to the bytecode interpreter(s).
       
    60 
       
    61 class InterpreterMacroAssembler;
    77 
    62 
    78 class AbstractInterpreter: AllStatic {
    63 class AbstractInterpreter: AllStatic {
    79   friend class VMStructs;
    64   friend class VMStructs;
    80   friend class Interpreter;
    65   friend class Interpreter;
    81   friend class CppInterpreterGenerator;
    66   friend class CppInterpreterGenerator;