# HG changeset patch # User dlong # Date 1545165907 28800 # Node ID a7bd894861751df3de147b8b172178b77b178992 # Parent 2f41e4935c34bc298dbfadf426b7ea5f8d4d7d60 8214329: SwingMark SubMenus 9% regression in 12-b19 on Linux client Reviewed-by: thartmann, mullan diff -r 2f41e4935c34 -r a7bd89486175 src/hotspot/share/prims/jvm.cpp --- a/src/hotspot/share/prims/jvm.cpp Tue Dec 18 12:36:27 2018 -0800 +++ b/src/hotspot/share/prims/jvm.cpp Tue Dec 18 12:45:07 2018 -0800 @@ -1230,11 +1230,10 @@ oop protection_domain = NULL; // Iterate through Java frames - RegisterMap reg_map(thread); - javaVFrame *vf = thread->last_java_vframe(®_map); - for (; vf != NULL; vf = vf->java_sender()) { + vframeStream vfst(thread); + for(; !vfst.at_end(); vfst.next()) { // get method of frame - Method* method = vf->method(); + Method* method = vfst.method(); // stop at the first privileged frame if (method->method_holder() == SystemDictionary::AccessController_klass() && @@ -1243,9 +1242,7 @@ // this frame is privileged is_privileged = true; - javaVFrame *priv = vf; // executePrivileged - javaVFrame *caller_fr = priv->java_sender(); // doPrivileged - caller_fr = caller_fr->java_sender(); // caller + javaVFrame *priv = vfst.asJavaVFrame(); // executePrivileged StackValueCollection* locals = priv->locals(); privileged_context = locals->obj_at(1);