hotspot/src/share/vm/interpreter/templateTable.hpp
changeset 25715 d5a8dbdc5150
parent 23221 b70675ece1ce
child 29180 50369728b00e
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.
    26 #define SHARE_VM_INTERPRETER_TEMPLATETABLE_HPP
    26 #define SHARE_VM_INTERPRETER_TEMPLATETABLE_HPP
    27 
    27 
    28 #include "interpreter/bytecodes.hpp"
    28 #include "interpreter/bytecodes.hpp"
    29 #include "memory/allocation.hpp"
    29 #include "memory/allocation.hpp"
    30 #include "runtime/frame.hpp"
    30 #include "runtime/frame.hpp"
    31 #ifdef TARGET_ARCH_x86
       
    32 # include "interp_masm_x86.hpp"
       
    33 #endif
       
    34 #ifdef TARGET_ARCH_MODEL_sparc
       
    35 # include "interp_masm_sparc.hpp"
       
    36 #endif
       
    37 #ifdef TARGET_ARCH_MODEL_zero
       
    38 # include "interp_masm_zero.hpp"
       
    39 #endif
       
    40 #ifdef TARGET_ARCH_MODEL_arm
       
    41 # include "interp_masm_arm.hpp"
       
    42 #endif
       
    43 #ifdef TARGET_ARCH_MODEL_ppc_32
       
    44 # include "interp_masm_ppc_32.hpp"
       
    45 #endif
       
    46 #ifdef TARGET_ARCH_MODEL_ppc_64
       
    47 # include "interp_masm_ppc_64.hpp"
       
    48 #endif
       
    49 
    31 
    50 #ifndef CC_INTERP
    32 #ifndef CC_INTERP
    51 // All the necessary definitions used for (bytecode) template generation. Instead of
    33 // All the necessary definitions used for (bytecode) template generation. Instead of
    52 // spreading the implementation functionality for each bytecode in the interpreter
    34 // spreading the implementation functionality for each bytecode in the interpreter
    53 // and the snippet generator, a template is assigned to each bytecode which can be
    35 // and the snippet generator, a template is assigned to each bytecode which can be
    54 // used to generate the bytecode's implementation if needed.
    36 // used to generate the bytecode's implementation if needed.
    55 
    37 
       
    38 class InterpreterMacroAssembler;
    56 
    39 
    57 // A Template describes the properties of a code template for a given bytecode
    40 // A Template describes the properties of a code template for a given bytecode
    58 // and provides a generator to generate the code template.
    41 // and provides a generator to generate the code template.
    59 
    42 
    60 class Template VALUE_OBJ_CLASS_SPEC {
    43 class Template VALUE_OBJ_CLASS_SPEC {