src/share/vm/interpreter/bytecodeInterpreter.hpp

Print this page
rev 6670 : 8049325: Introduce and clean up umbrella headers for the files in the cpu subdirectories.
Reviewed-by: lfoltan, coleenp, dholmes
   1 /*
   2  * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   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
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_INTERPRETER_BYTECODEINTERPRETER_HPP
  26 #define SHARE_VM_INTERPRETER_BYTECODEINTERPRETER_HPP
  27 
  28 #include "memory/allocation.hpp"
  29 #include "oops/methodData.hpp"
  30 #include "oops/method.hpp"
  31 #include "runtime/basicLock.hpp"
  32 #include "runtime/frame.hpp"
  33 #include "runtime/globals.hpp"
  34 #include "utilities/globalDefinitions.hpp"
  35 #ifdef TARGET_ARCH_x86
  36 # include "bytes_x86.hpp"
  37 #endif
  38 #ifdef TARGET_ARCH_sparc
  39 # include "bytes_sparc.hpp"
  40 #endif
  41 #ifdef TARGET_ARCH_zero
  42 # include "bytes_zero.hpp"
  43 #endif
  44 #ifdef TARGET_ARCH_arm
  45 # include "bytes_arm.hpp"
  46 #endif
  47 #ifdef TARGET_ARCH_ppc
  48 # include "bytes_ppc.hpp"
  49 #endif
  50 
  51 #ifdef CC_INTERP
  52 
  53 // JavaStack Implementation
  54 #define MORE_STACK(count)  \
  55     (topOfStack -= ((count) * Interpreter::stackElementWords))
  56 
  57 // CVM definitions find hotspot equivalents...
  58 


  59 union VMJavaVal64 {
  60     jlong   l;
  61     jdouble d;
  62     uint32_t      v[2];
  63 };
  64 
  65 
  66 typedef class BytecodeInterpreter* interpreterState;
  67 
  68 struct call_message {
  69   class Method* _callee;           // method to call during call_method request
  70   address _callee_entry_point;     // address to jump to for call_method request
  71   int _bcp_advance;                // size of the invoke bytecode operation
  72 };
  73 
  74 struct osr_message {
  75   address _osr_buf;                 // the osr buffer
  76   address _osr_entry;               // the entry to the osr method
  77 };
  78 


   1 /*
   2  * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   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
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_INTERPRETER_BYTECODEINTERPRETER_HPP
  26 #define SHARE_VM_INTERPRETER_BYTECODEINTERPRETER_HPP
  27 
  28 #include "memory/allocation.hpp"
  29 #include "oops/methodData.hpp"
  30 #include "oops/method.hpp"
  31 #include "runtime/basicLock.hpp"
  32 #include "runtime/frame.hpp"
  33 #include "runtime/globals.hpp"
  34 #include "utilities/globalDefinitions.hpp"















  35 
  36 #ifdef CC_INTERP
  37 
  38 // JavaStack Implementation
  39 #define MORE_STACK(count)  \
  40     (topOfStack -= ((count) * Interpreter::stackElementWords))
  41 
  42 // CVM definitions find hotspot equivalents...
  43 
  44 class InterpreterMacroAssembler;
  45 
  46 union VMJavaVal64 {
  47     jlong   l;
  48     jdouble d;
  49     uint32_t      v[2];
  50 };
  51 
  52 
  53 typedef class BytecodeInterpreter* interpreterState;
  54 
  55 struct call_message {
  56   class Method* _callee;           // method to call during call_method request
  57   address _callee_entry_point;     // address to jump to for call_method request
  58   int _bcp_advance;                // size of the invoke bytecode operation
  59 };
  60 
  61 struct osr_message {
  62   address _osr_buf;                 // the osr buffer
  63   address _osr_entry;               // the entry to the osr method
  64 };
  65