< prev index next >

src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java

Print this page
rev 12066 : [mq]: dont_profile.8074551

@@ -667,10 +667,15 @@
             onStack = name;  // unless otherwise modified below
             MethodHandleImpl.Intrinsic intr = name.function.intrinsicName();
             switch (intr) {
                 case SELECT_ALTERNATIVE:
                     assert isSelectAlternative(i);
+                    if (PROFILE_GWT) {
+                        assert(name.arguments[0] instanceof Name &&
+                               nameRefersTo((Name)name.arguments[0], MethodHandleImpl.class, "profileBoolean"));
+                        mv.visitAnnotation("Ljava/lang/invoke/InjectedProfile;", true);
+                    }
                     onStack = emitSelectAlternative(name, lambdaForm.names[i+1]);
                     i++;  // skip MH.invokeBasic of the selectAlternative result
                     continue;
                 case GUARD_WITH_CATCH:
                     assert isGuardWithCatch(i);
< prev index next >