diff options
Diffstat (limited to 'src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java')
-rw-r--r-- | src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java | 5 |
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; |