src/share/vm/prims/methodHandles.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8000263 Sdiff src/share/vm/prims

src/share/vm/prims/methodHandles.hpp

Print this page




 179             ref_kind == JVM_REF_invokeInterface);
 180   }
 181 
 182 
 183 #ifdef TARGET_ARCH_x86
 184 # include "methodHandles_x86.hpp"
 185 #endif
 186 #ifdef TARGET_ARCH_sparc
 187 # include "methodHandles_sparc.hpp"
 188 #endif
 189 #ifdef TARGET_ARCH_zero
 190 # include "methodHandles_zero.hpp"
 191 #endif
 192 #ifdef TARGET_ARCH_arm
 193 # include "methodHandles_arm.hpp"
 194 #endif
 195 #ifdef TARGET_ARCH_ppc
 196 # include "methodHandles_ppc.hpp"
 197 #endif
 198 
 199 




















 200 };
 201 
 202 
 203 //------------------------------------------------------------------------------
 204 // MethodHandlesAdapterGenerator
 205 //
 206 class MethodHandlesAdapterGenerator : public StubCodeGenerator {
 207 public:
 208   MethodHandlesAdapterGenerator(CodeBuffer* code) : StubCodeGenerator(code, PrintMethodHandleStubs) {}
 209 
 210   void generate();
 211 };
 212 
 213 #endif // SHARE_VM_PRIMS_METHODHANDLES_HPP


 179             ref_kind == JVM_REF_invokeInterface);
 180   }
 181 
 182 
 183 #ifdef TARGET_ARCH_x86
 184 # include "methodHandles_x86.hpp"
 185 #endif
 186 #ifdef TARGET_ARCH_sparc
 187 # include "methodHandles_sparc.hpp"
 188 #endif
 189 #ifdef TARGET_ARCH_zero
 190 # include "methodHandles_zero.hpp"
 191 #endif
 192 #ifdef TARGET_ARCH_arm
 193 # include "methodHandles_arm.hpp"
 194 #endif
 195 #ifdef TARGET_ARCH_ppc
 196 # include "methodHandles_ppc.hpp"
 197 #endif
 198 
 199   // Tracing
 200   static void trace_method_handle(MacroAssembler* _masm, const char* adaptername) PRODUCT_RETURN;
 201   static void trace_method_handle_interpreter_entry(MacroAssembler* _masm, vmIntrinsics::ID iid) {
 202     if (TraceMethodHandles) {
 203       const char* name = vmIntrinsics::name_at(iid);
 204       if (*name == '_')  name += 1;
 205       const size_t len = strlen(name) + 50;
 206       char* qname = NEW_C_HEAP_ARRAY(char, len, mtInternal);
 207       const char* suffix = "";
 208       if (is_signature_polymorphic(iid)) {
 209         if (is_signature_polymorphic_static(iid))
 210           suffix = "/static";
 211         else
 212           suffix = "/private";
 213       }
 214       jio_snprintf(qname, len, "MethodHandle::interpreter_entry::%s%s", name, suffix);
 215       trace_method_handle(_masm, qname);
 216       // Note:  Don't free the allocated char array because it's used
 217       // during runtime.
 218     }
 219   }
 220 };
 221 
 222 
 223 //------------------------------------------------------------------------------
 224 // MethodHandlesAdapterGenerator
 225 //
 226 class MethodHandlesAdapterGenerator : public StubCodeGenerator {
 227 public:
 228   MethodHandlesAdapterGenerator(CodeBuffer* code) : StubCodeGenerator(code, PrintMethodHandleStubs) {}
 229 
 230   void generate();
 231 };
 232 
 233 #endif // SHARE_VM_PRIMS_METHODHANDLES_HPP
src/share/vm/prims/methodHandles.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File