Mercurial > hg > truffle
diff src/cpu/x86/vm/methodHandles_x86.cpp @ 1507:cd5dbf694d45
6939134: JSR 292 adjustments to method handle invocation
Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces
Reviewed-by: twisti
author | jrose |
---|---|
date | Sat, 01 May 2010 02:42:18 -0700 |
parents | 2338d41fbd81 |
children | c18cbe5936b8 |
line wrap: on
line diff
--- a/src/cpu/x86/vm/methodHandles_x86.cpp Fri Apr 30 08:37:24 2010 -0700 +++ b/src/cpu/x86/vm/methodHandles_x86.cpp Sat May 01 02:42:18 2010 -0700 @@ -262,6 +262,22 @@ } #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. +} + // Generate an "entry" field for a method handle. // This determines how the method handle will respond to calls. void MethodHandles::generate_method_handle_stub(MacroAssembler* _masm, MethodHandles::EntryKind ek) {