src/share/vm/prims/methodHandleWalk.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6839872 Cdiff src/share/vm/prims/methodHandleWalk.cpp

src/share/vm/prims/methodHandleWalk.cpp

Print this page
rev 2143 : 6839872: remove implementation inheritance from JSR 292 APIs
Summary: Move all JSR 292 classes into the java.dyn package.
Reviewed-by:

*** 98,108 **** BasicType MethodHandleChain::compute_bound_arg_type(oop target, methodOop m, int arg_slot, TRAPS) { // There is no direct indication of whether the argument is primitive or not. // It is implied by the _vmentry code, and by the MethodType of the target. - // FIXME: Make it explicit MethodHandleImpl refactors out from MethodHandle BasicType arg_type = T_VOID; if (target != NULL) { oop mtype = java_dyn_MethodHandle::type(target); int arg_num = MethodHandles::argument_slot_to_argnum(mtype, arg_slot); if (arg_num >= 0) { --- 98,107 ----
*** 958,967 **** --- 957,973 ---- int argc, MethodHandleWalker::ArgToken* argv, TRAPS) { if (m == NULL) { // Get the intrinsic methodOop. m = vmIntrinsics::method_for(iid); + if (m == NULL && iid == vmIntrinsics::_checkSpreadArgument && AllowTransitionalJSR292) { + m = vmIntrinsics::method_for(vmIntrinsics::_checkSpreadArgument_TRANS); + } + if (m == NULL) { + ArgToken zero; + lose(vmIntrinsics::name_at(iid), CHECK_(zero)); + } } klassOop klass = m->method_holder(); Symbol* name = m->name(); Symbol* signature = m->signature();
src/share/vm/prims/methodHandleWalk.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File