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 |