src/share/vm/runtime/vframe.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/runtime/vframe.cpp	Tue Jan  5 18:46:14 2010
--- new/src/share/vm/runtime/vframe.cpp	Tue Jan  5 18:46:14 2010

*** 1,7 **** --- 1,7 ---- /* ! * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. ! * Copyright 1997-2010 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 430,439 **** --- 430,445 ---- // This is Method.invoke() -- skip it } else if (use_new_reflection && Klass::cast(method()->method_holder()) ->is_subclass_of(SystemDictionary::reflect_method_accessor_klass())) { // This is an auxilary frame -- skip it + } else if ((method()->name() == vmSymbols::invoke_name() && + method()->method_holder() == SystemDictionary::MethodHandle_klass()) + || + method()->method_holder() == SystemDictionary::InvokeDynamic_klass()) { + // FIXME: Hide this match logic in methodOopDesc or MethodHandleCompiler. + // This is an internal adapter frame from the MethodHandleCompiler -- skip it } else { // This is non-excluded frame, we need to count it against the depth if (depth-- <= 0) { // we have reached the desired depth, we are done break;

src/share/vm/runtime/vframe.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File