< prev index next >

src/share/vm/prims/methodHandles.hpp

Print this page




 165   }
 166   static bool ref_kind_is_method(int ref_kind) {
 167     return !ref_kind_is_field(ref_kind) && (ref_kind != JVM_REF_newInvokeSpecial);
 168   }
 169   static bool ref_kind_has_receiver(int ref_kind) {
 170     assert(ref_kind_is_valid(ref_kind), "");
 171     return (ref_kind & 1) != 0;
 172   }
 173   static bool ref_kind_is_static(int ref_kind) {
 174     return !ref_kind_has_receiver(ref_kind) && (ref_kind != JVM_REF_newInvokeSpecial);
 175   }
 176   static bool ref_kind_does_dispatch(int ref_kind) {
 177     return (ref_kind == JVM_REF_invokeVirtual ||
 178             ref_kind == JVM_REF_invokeInterface);
 179   }
 180 
 181 
 182 #ifdef TARGET_ARCH_x86
 183 # include "methodHandles_x86.hpp"
 184 #endif



 185 #ifdef TARGET_ARCH_sparc
 186 # include "methodHandles_sparc.hpp"
 187 #endif
 188 #ifdef TARGET_ARCH_zero
 189 # include "methodHandles_zero.hpp"
 190 #endif
 191 #ifdef TARGET_ARCH_arm
 192 # include "methodHandles_arm.hpp"
 193 #endif
 194 #ifdef TARGET_ARCH_ppc
 195 # include "methodHandles_ppc.hpp"
 196 #endif
 197 
 198   // Tracing
 199   static void trace_method_handle(MacroAssembler* _masm, const char* adaptername) PRODUCT_RETURN;
 200   static void trace_method_handle_interpreter_entry(MacroAssembler* _masm, vmIntrinsics::ID iid) {
 201     if (TraceMethodHandles) {
 202       const char* name = vmIntrinsics::name_at(iid);
 203       if (*name == '_')  name += 1;
 204       const size_t len = strlen(name) + 50;




 165   }
 166   static bool ref_kind_is_method(int ref_kind) {
 167     return !ref_kind_is_field(ref_kind) && (ref_kind != JVM_REF_newInvokeSpecial);
 168   }
 169   static bool ref_kind_has_receiver(int ref_kind) {
 170     assert(ref_kind_is_valid(ref_kind), "");
 171     return (ref_kind & 1) != 0;
 172   }
 173   static bool ref_kind_is_static(int ref_kind) {
 174     return !ref_kind_has_receiver(ref_kind) && (ref_kind != JVM_REF_newInvokeSpecial);
 175   }
 176   static bool ref_kind_does_dispatch(int ref_kind) {
 177     return (ref_kind == JVM_REF_invokeVirtual ||
 178             ref_kind == JVM_REF_invokeInterface);
 179   }
 180 
 181 
 182 #ifdef TARGET_ARCH_x86
 183 # include "methodHandles_x86.hpp"
 184 #endif
 185 #ifdef TARGET_ARCH_aarch64
 186 # include "methodHandles_aarch64.hpp"
 187 #endif
 188 #ifdef TARGET_ARCH_sparc
 189 # include "methodHandles_sparc.hpp"
 190 #endif
 191 #ifdef TARGET_ARCH_zero
 192 # include "methodHandles_zero.hpp"
 193 #endif
 194 #ifdef TARGET_ARCH_arm
 195 # include "methodHandles_arm.hpp"
 196 #endif
 197 #ifdef TARGET_ARCH_ppc
 198 # include "methodHandles_ppc.hpp"
 199 #endif
 200 
 201   // Tracing
 202   static void trace_method_handle(MacroAssembler* _masm, const char* adaptername) PRODUCT_RETURN;
 203   static void trace_method_handle_interpreter_entry(MacroAssembler* _masm, vmIntrinsics::ID iid) {
 204     if (TraceMethodHandles) {
 205       const char* name = vmIntrinsics::name_at(iid);
 206       if (*name == '_')  name += 1;
 207       const size_t len = strlen(name) + 50;


< prev index next >