1.1 --- a/src/cpu/x86/vm/methodHandles_x86.cpp Fri Apr 30 08:37:24 2010 -0700 1.2 +++ b/src/cpu/x86/vm/methodHandles_x86.cpp Sat May 01 02:42:18 2010 -0700 1.3 @@ -262,6 +262,22 @@ 1.4 } 1.5 #endif //PRODUCT 1.6 1.7 +// which conversion op types are implemented here? 1.8 +int MethodHandles::adapter_conversion_ops_supported_mask() { 1.9 + return ((1<<sun_dyn_AdapterMethodHandle::OP_RETYPE_ONLY) 1.10 + |(1<<sun_dyn_AdapterMethodHandle::OP_RETYPE_RAW) 1.11 + |(1<<sun_dyn_AdapterMethodHandle::OP_CHECK_CAST) 1.12 + |(1<<sun_dyn_AdapterMethodHandle::OP_PRIM_TO_PRIM) 1.13 + |(1<<sun_dyn_AdapterMethodHandle::OP_REF_TO_PRIM) 1.14 + |(1<<sun_dyn_AdapterMethodHandle::OP_SWAP_ARGS) 1.15 + |(1<<sun_dyn_AdapterMethodHandle::OP_ROT_ARGS) 1.16 + |(1<<sun_dyn_AdapterMethodHandle::OP_DUP_ARGS) 1.17 + |(1<<sun_dyn_AdapterMethodHandle::OP_DROP_ARGS) 1.18 + //|(1<<sun_dyn_AdapterMethodHandle::OP_SPREAD_ARGS) //BUG! 1.19 + ); 1.20 + // FIXME: MethodHandlesTest gets a crash if we enable OP_SPREAD_ARGS. 1.21 +} 1.22 + 1.23 // Generate an "entry" field for a method handle. 1.24 // This determines how the method handle will respond to calls. 1.25 void MethodHandles::generate_method_handle_stub(MacroAssembler* _masm, MethodHandles::EntryKind ek) {