--- a/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp Fri Apr 30 08:37:24 2010 -0700
+++ b/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp Sat May 01 02:42:18 2010 -0700
@@ -290,6 +290,21 @@
}
#endif // PRODUCT
+// which conversion op types are implemented here?
+int MethodHandles::adapter_conversion_ops_supported_mask() {
+ return ((1<<sun_dyn_AdapterMethodHandle::OP_RETYPE_ONLY)
+ |(1<<sun_dyn_AdapterMethodHandle::OP_RETYPE_RAW)
+ |(1<<sun_dyn_AdapterMethodHandle::OP_CHECK_CAST)
+ |(1<<sun_dyn_AdapterMethodHandle::OP_PRIM_TO_PRIM)
+ |(1<<sun_dyn_AdapterMethodHandle::OP_REF_TO_PRIM)
+ |(1<<sun_dyn_AdapterMethodHandle::OP_SWAP_ARGS)
+ |(1<<sun_dyn_AdapterMethodHandle::OP_ROT_ARGS)
+ |(1<<sun_dyn_AdapterMethodHandle::OP_DUP_ARGS)
+ |(1<<sun_dyn_AdapterMethodHandle::OP_DROP_ARGS)
+ //|(1<<sun_dyn_AdapterMethodHandle::OP_SPREAD_ARGS) //BUG!
+ );
+ // FIXME: MethodHandlesTest gets a crash if we enable OP_SPREAD_ARGS.
+}
//------------------------------------------------------------------------------
// MethodHandles::generate_method_handle_stub