src/share/vm/opto/callGenerator.cpp

changeset 3258
83d0b5cd1438
parent 3105
c26de9aef2ed
child 3313
a04a201f0f5a
     1.1 --- a/src/share/vm/opto/callGenerator.cpp	Tue Nov 08 20:42:26 2011 -0800
     1.2 +++ b/src/share/vm/opto/callGenerator.cpp	Wed Nov 09 00:42:33 2011 -0800
     1.3 @@ -775,15 +775,15 @@
     1.4  
     1.5    Node* bol = NULL;
     1.6    int bc = jvms->method()->java_code_at_bci(jvms->bci());
     1.7 -  if (bc == Bytecodes::_invokespecial) {
     1.8 -    // This is the selectAlternative idiom for guardWithTest
     1.9 +  if (bc != Bytecodes::_invokedynamic) {
    1.10 +    // This is the selectAlternative idiom for guardWithTest or
    1.11 +    // similar idioms.
    1.12      Node* receiver = kit.argument(0);
    1.13  
    1.14      // Check if the MethodHandle is the expected one
    1.15      Node* cmp = gvn.transform(new(kit.C, 3) CmpPNode(receiver, predicted_mh));
    1.16      bol = gvn.transform(new(kit.C, 2) BoolNode(cmp, BoolTest::eq) );
    1.17    } else {
    1.18 -    assert(bc == Bytecodes::_invokedynamic, "must be");
    1.19      // Get the constant pool cache from the caller class.
    1.20      ciMethod* caller_method = jvms->method();
    1.21      ciBytecodeStream str(caller_method);

mercurial