src/cpu/x86/vm/interp_masm_x86_64.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 7089790_full Sdiff src/cpu/x86/vm

src/cpu/x86/vm/interp_masm_x86_64.cpp

Print this page
rev 2694 : imported patch headers_only


  28 #include "interpreter/interpreterRuntime.hpp"
  29 #include "oops/arrayOop.hpp"
  30 #include "oops/markOop.hpp"
  31 #include "oops/methodDataOop.hpp"
  32 #include "oops/methodOop.hpp"
  33 #include "prims/jvmtiExport.hpp"
  34 #include "prims/jvmtiRedefineClassesTrace.hpp"
  35 #include "prims/jvmtiThreadState.hpp"
  36 #include "runtime/basicLock.hpp"
  37 #include "runtime/biasedLocking.hpp"
  38 #include "runtime/sharedRuntime.hpp"
  39 #ifdef TARGET_OS_FAMILY_linux
  40 # include "thread_linux.inline.hpp"
  41 #endif
  42 #ifdef TARGET_OS_FAMILY_solaris
  43 # include "thread_solaris.inline.hpp"
  44 #endif
  45 #ifdef TARGET_OS_FAMILY_windows
  46 # include "thread_windows.inline.hpp"
  47 #endif



  48 
  49 
  50 // Implementation of InterpreterMacroAssembler
  51 
  52 #ifdef CC_INTERP
  53 void InterpreterMacroAssembler::get_method(Register reg) {
  54   movptr(reg, Address(rbp, -((int)sizeof(BytecodeInterpreter) + 2 * wordSize)));
  55   movptr(reg, Address(reg, byte_offset_of(BytecodeInterpreter, _method)));
  56 }
  57 #endif // CC_INTERP
  58 
  59 #ifndef CC_INTERP
  60 
  61 void InterpreterMacroAssembler::call_VM_leaf_base(address entry_point,
  62                                                   int number_of_arguments) {
  63   // interpreter specific
  64   //
  65   // Note: No need to save/restore bcp & locals (r13 & r14) pointer
  66   //       since these are callee saved registers and no blocking/
  67   //       GC can happen in leaf calls.




  28 #include "interpreter/interpreterRuntime.hpp"
  29 #include "oops/arrayOop.hpp"
  30 #include "oops/markOop.hpp"
  31 #include "oops/methodDataOop.hpp"
  32 #include "oops/methodOop.hpp"
  33 #include "prims/jvmtiExport.hpp"
  34 #include "prims/jvmtiRedefineClassesTrace.hpp"
  35 #include "prims/jvmtiThreadState.hpp"
  36 #include "runtime/basicLock.hpp"
  37 #include "runtime/biasedLocking.hpp"
  38 #include "runtime/sharedRuntime.hpp"
  39 #ifdef TARGET_OS_FAMILY_linux
  40 # include "thread_linux.inline.hpp"
  41 #endif
  42 #ifdef TARGET_OS_FAMILY_solaris
  43 # include "thread_solaris.inline.hpp"
  44 #endif
  45 #ifdef TARGET_OS_FAMILY_windows
  46 # include "thread_windows.inline.hpp"
  47 #endif
  48 #ifdef TARGET_OS_FAMILY_bsd
  49 # include "thread_bsd.inline.hpp"
  50 #endif
  51 
  52 
  53 // Implementation of InterpreterMacroAssembler
  54 
  55 #ifdef CC_INTERP
  56 void InterpreterMacroAssembler::get_method(Register reg) {
  57   movptr(reg, Address(rbp, -((int)sizeof(BytecodeInterpreter) + 2 * wordSize)));
  58   movptr(reg, Address(reg, byte_offset_of(BytecodeInterpreter, _method)));
  59 }
  60 #endif // CC_INTERP
  61 
  62 #ifndef CC_INTERP
  63 
  64 void InterpreterMacroAssembler::call_VM_leaf_base(address entry_point,
  65                                                   int number_of_arguments) {
  66   // interpreter specific
  67   //
  68   // Note: No need to save/restore bcp & locals (r13 & r14) pointer
  69   //       since these are callee saved registers and no blocking/
  70   //       GC can happen in leaf calls.


src/cpu/x86/vm/interp_masm_x86_64.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File