jdk/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
changeset 31253 5efb78c8a07d
parent 30365 551470085a1d
child 31802 cb6542e7d329
--- a/jdk/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	Thu Jun 04 19:24:28 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	Thu Jun 11 14:20:01 2015 +0300
@@ -669,6 +669,11 @@
             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;