< prev index next >

src/share/vm/interpreter/bytecodeInterpreter.hpp

Print this page




  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...


 571 static void set_locals_long(intptr_t *locals, jlong value, int offset);
 572 static void set_locals_double_from_addr(intptr_t *locals,
 573                                    address addr, int offset);
 574 static void set_locals_long_from_addr(intptr_t *locals,
 575                                    address addr, int offset);
 576 
 577 static void astore(intptr_t* topOfStack, int stack_offset,
 578                    intptr_t* locals,     int locals_offset);
 579 
 580 // Support for dup and swap
 581 static void copy_stack_slot(intptr_t *tos, int from_offset, int to_offset);
 582 
 583 #ifndef PRODUCT
 584 static const char* C_msg(BytecodeInterpreter::messages msg);
 585 void print();
 586 #endif // PRODUCT
 587 
 588     // Platform fields/methods
 589 #ifdef TARGET_ARCH_x86
 590 # include "bytecodeInterpreter_x86.hpp"



 591 #endif
 592 #ifdef TARGET_ARCH_sparc
 593 # include "bytecodeInterpreter_sparc.hpp"
 594 #endif
 595 #ifdef TARGET_ARCH_zero
 596 # include "bytecodeInterpreter_zero.hpp"
 597 #endif
 598 #ifdef TARGET_ARCH_arm
 599 # include "bytecodeInterpreter_arm.hpp"
 600 #endif
 601 #ifdef TARGET_ARCH_ppc
 602 # include "bytecodeInterpreter_ppc.hpp"
 603 #endif
 604 
 605 
 606 }; // BytecodeInterpreter
 607 
 608 #endif // CC_INTERP
 609 
 610 #endif // SHARE_VM_INTERPRETER_BYTECODEINTERPRETER_HPP


  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_aarch64
  39 # include "bytes_aarch64.hpp"
  40 #endif
  41 #ifdef TARGET_ARCH_sparc
  42 # include "bytes_sparc.hpp"
  43 #endif
  44 #ifdef TARGET_ARCH_zero
  45 # include "bytes_zero.hpp"
  46 #endif
  47 #ifdef TARGET_ARCH_arm
  48 # include "bytes_arm.hpp"
  49 #endif
  50 #ifdef TARGET_ARCH_ppc
  51 # include "bytes_ppc.hpp"
  52 #endif
  53 
  54 #ifdef CC_INTERP
  55 
  56 // JavaStack Implementation
  57 #define MORE_STACK(count)  \
  58     (topOfStack -= ((count) * Interpreter::stackElementWords))
  59 
  60 // CVM definitions find hotspot equivalents...


 574 static void set_locals_long(intptr_t *locals, jlong value, int offset);
 575 static void set_locals_double_from_addr(intptr_t *locals,
 576                                    address addr, int offset);
 577 static void set_locals_long_from_addr(intptr_t *locals,
 578                                    address addr, int offset);
 579 
 580 static void astore(intptr_t* topOfStack, int stack_offset,
 581                    intptr_t* locals,     int locals_offset);
 582 
 583 // Support for dup and swap
 584 static void copy_stack_slot(intptr_t *tos, int from_offset, int to_offset);
 585 
 586 #ifndef PRODUCT
 587 static const char* C_msg(BytecodeInterpreter::messages msg);
 588 void print();
 589 #endif // PRODUCT
 590 
 591     // Platform fields/methods
 592 #ifdef TARGET_ARCH_x86
 593 # include "bytecodeInterpreter_x86.hpp"
 594 #endif
 595 #ifdef TARGET_ARCH_aarch64
 596 # include "bytecodeInterpreter_aarch64.hpp"
 597 #endif
 598 #ifdef TARGET_ARCH_sparc
 599 # include "bytecodeInterpreter_sparc.hpp"
 600 #endif
 601 #ifdef TARGET_ARCH_zero
 602 # include "bytecodeInterpreter_zero.hpp"
 603 #endif
 604 #ifdef TARGET_ARCH_arm
 605 # include "bytecodeInterpreter_arm.hpp"
 606 #endif
 607 #ifdef TARGET_ARCH_ppc
 608 # include "bytecodeInterpreter_ppc.hpp"
 609 #endif
 610 
 611 
 612 }; // BytecodeInterpreter
 613 
 614 #endif // CC_INTERP
 615 
 616 #endif // SHARE_VM_INTERPRETER_BYTECODEINTERPRETER_HPP
< prev index next >