1.1 --- a/src/cpu/x86/vm/methodHandles_x86.cpp Fri Mar 11 22:33:47 2011 -0800 1.2 +++ b/src/cpu/x86/vm/methodHandles_x86.cpp Fri Mar 11 22:34:57 2011 -0800 1.3 @@ -125,9 +125,9 @@ 1.4 } 1.5 1.6 // given the MethodType, find out where the MH argument is buried 1.7 - __ load_heap_oop(rdx_temp, Address(rax_mtype, __ delayed_value(java_dyn_MethodType::form_offset_in_bytes, rdi_temp))); 1.8 + __ load_heap_oop(rdx_temp, Address(rax_mtype, __ delayed_value(java_lang_invoke_MethodType::form_offset_in_bytes, rdi_temp))); 1.9 Register rdx_vmslots = rdx_temp; 1.10 - __ movl(rdx_vmslots, Address(rdx_temp, __ delayed_value(java_dyn_MethodTypeForm::vmslots_offset_in_bytes, rdi_temp))); 1.11 + __ movl(rdx_vmslots, Address(rdx_temp, __ delayed_value(java_lang_invoke_MethodTypeForm::vmslots_offset_in_bytes, rdi_temp))); 1.12 __ movptr(rcx_recv, __ argument_address(rdx_vmslots)); 1.13 1.14 trace_method_handle(_masm, "invokeExact"); 1.15 @@ -154,11 +154,11 @@ 1.16 rcx_argslot, rbx_temp, rdx_temp); 1.17 1.18 // load up an adapter from the calling type (Java weaves this) 1.19 - __ load_heap_oop(rdx_temp, Address(rax_mtype, __ delayed_value(java_dyn_MethodType::form_offset_in_bytes, rdi_temp))); 1.20 + __ load_heap_oop(rdx_temp, Address(rax_mtype, __ delayed_value(java_lang_invoke_MethodType::form_offset_in_bytes, rdi_temp))); 1.21 Register rdx_adapter = rdx_temp; 1.22 - // __ load_heap_oop(rdx_adapter, Address(rdx_temp, java_dyn_MethodTypeForm::genericInvoker_offset_in_bytes())); 1.23 + // __ load_heap_oop(rdx_adapter, Address(rdx_temp, java_lang_invoke_MethodTypeForm::genericInvoker_offset_in_bytes())); 1.24 // deal with old JDK versions: 1.25 - __ lea(rdi_temp, Address(rdx_temp, __ delayed_value(java_dyn_MethodTypeForm::genericInvoker_offset_in_bytes, rdi_temp))); 1.26 + __ lea(rdi_temp, Address(rdx_temp, __ delayed_value(java_lang_invoke_MethodTypeForm::genericInvoker_offset_in_bytes, rdi_temp))); 1.27 __ cmpptr(rdi_temp, rdx_temp); 1.28 Label sorry_no_invoke_generic; 1.29 __ jcc(Assembler::below, sorry_no_invoke_generic); 1.30 @@ -371,16 +371,16 @@ 1.31 1.32 // which conversion op types are implemented here? 1.33 int MethodHandles::adapter_conversion_ops_supported_mask() { 1.34 - return ((1<<sun_dyn_AdapterMethodHandle::OP_RETYPE_ONLY) 1.35 - |(1<<sun_dyn_AdapterMethodHandle::OP_RETYPE_RAW) 1.36 - |(1<<sun_dyn_AdapterMethodHandle::OP_CHECK_CAST) 1.37 - |(1<<sun_dyn_AdapterMethodHandle::OP_PRIM_TO_PRIM) 1.38 - |(1<<sun_dyn_AdapterMethodHandle::OP_REF_TO_PRIM) 1.39 - |(1<<sun_dyn_AdapterMethodHandle::OP_SWAP_ARGS) 1.40 - |(1<<sun_dyn_AdapterMethodHandle::OP_ROT_ARGS) 1.41 - |(1<<sun_dyn_AdapterMethodHandle::OP_DUP_ARGS) 1.42 - |(1<<sun_dyn_AdapterMethodHandle::OP_DROP_ARGS) 1.43 - //|(1<<sun_dyn_AdapterMethodHandle::OP_SPREAD_ARGS) //BUG! 1.44 + return ((1<<java_lang_invoke_AdapterMethodHandle::OP_RETYPE_ONLY) 1.45 + |(1<<java_lang_invoke_AdapterMethodHandle::OP_RETYPE_RAW) 1.46 + |(1<<java_lang_invoke_AdapterMethodHandle::OP_CHECK_CAST) 1.47 + |(1<<java_lang_invoke_AdapterMethodHandle::OP_PRIM_TO_PRIM) 1.48 + |(1<<java_lang_invoke_AdapterMethodHandle::OP_REF_TO_PRIM) 1.49 + |(1<<java_lang_invoke_AdapterMethodHandle::OP_SWAP_ARGS) 1.50 + |(1<<java_lang_invoke_AdapterMethodHandle::OP_ROT_ARGS) 1.51 + |(1<<java_lang_invoke_AdapterMethodHandle::OP_DUP_ARGS) 1.52 + |(1<<java_lang_invoke_AdapterMethodHandle::OP_DROP_ARGS) 1.53 + //|(1<<java_lang_invoke_AdapterMethodHandle::OP_SPREAD_ARGS) //BUG! 1.54 ); 1.55 // FIXME: MethodHandlesTest gets a crash if we enable OP_SPREAD_ARGS. 1.56 } 1.57 @@ -415,21 +415,21 @@ 1.58 const Register rarg2_required = LP64_ONLY(j_rarg2) NOT_LP64(rdi); 1.59 assert_different_registers(rarg0_code, rarg1_actual, rarg2_required, saved_last_sp); 1.60 1.61 - guarantee(java_dyn_MethodHandle::vmentry_offset_in_bytes() != 0, "must have offsets"); 1.62 + guarantee(java_lang_invoke_MethodHandle::vmentry_offset_in_bytes() != 0, "must have offsets"); 1.63 1.64 // some handy addresses 1.65 Address rbx_method_fie( rbx, methodOopDesc::from_interpreted_offset() ); 1.66 Address rbx_method_fce( rbx, methodOopDesc::from_compiled_offset() ); 1.67 1.68 - Address rcx_mh_vmtarget( rcx_recv, java_dyn_MethodHandle::vmtarget_offset_in_bytes() ); 1.69 - Address rcx_dmh_vmindex( rcx_recv, sun_dyn_DirectMethodHandle::vmindex_offset_in_bytes() ); 1.70 + Address rcx_mh_vmtarget( rcx_recv, java_lang_invoke_MethodHandle::vmtarget_offset_in_bytes() ); 1.71 + Address rcx_dmh_vmindex( rcx_recv, java_lang_invoke_DirectMethodHandle::vmindex_offset_in_bytes() ); 1.72 1.73 - Address rcx_bmh_vmargslot( rcx_recv, sun_dyn_BoundMethodHandle::vmargslot_offset_in_bytes() ); 1.74 - Address rcx_bmh_argument( rcx_recv, sun_dyn_BoundMethodHandle::argument_offset_in_bytes() ); 1.75 + Address rcx_bmh_vmargslot( rcx_recv, java_lang_invoke_BoundMethodHandle::vmargslot_offset_in_bytes() ); 1.76 + Address rcx_bmh_argument( rcx_recv, java_lang_invoke_BoundMethodHandle::argument_offset_in_bytes() ); 1.77 1.78 - Address rcx_amh_vmargslot( rcx_recv, sun_dyn_AdapterMethodHandle::vmargslot_offset_in_bytes() ); 1.79 - Address rcx_amh_argument( rcx_recv, sun_dyn_AdapterMethodHandle::argument_offset_in_bytes() ); 1.80 - Address rcx_amh_conversion( rcx_recv, sun_dyn_AdapterMethodHandle::conversion_offset_in_bytes() ); 1.81 + Address rcx_amh_vmargslot( rcx_recv, java_lang_invoke_AdapterMethodHandle::vmargslot_offset_in_bytes() ); 1.82 + Address rcx_amh_argument( rcx_recv, java_lang_invoke_AdapterMethodHandle::argument_offset_in_bytes() ); 1.83 + Address rcx_amh_conversion( rcx_recv, java_lang_invoke_AdapterMethodHandle::conversion_offset_in_bytes() ); 1.84 Address vmarg; // __ argument_address(vmargslot) 1.85 1.86 const int java_mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes(); 1.87 @@ -460,7 +460,7 @@ 1.88 1.89 Register rbx_method = rbx_temp; 1.90 Label L_no_method; 1.91 - // FIXME: fill in _raise_exception_method with a suitable sun.dyn method 1.92 + // FIXME: fill in _raise_exception_method with a suitable java.lang.invoke method 1.93 __ movptr(rbx_method, ExternalAddress((address) &_raise_exception_method)); 1.94 __ testptr(rbx_method, rbx_method); 1.95 __ jccb(Assembler::zero, L_no_method);