aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java')
-rw-r--r--src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java b/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
index d9c6f0ffbd..8af8e16da8 100644
--- a/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
+++ b/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
@@ -669,6 +669,11 @@ class InvokerBytecodeGenerator {
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;