src/share/vm/opto/doCall.cpp

changeset 4205
a3ecd773a7b9
parent 4115
e626685e9f6c
child 4268
bb33c6fdcf0d
     1.1 --- a/src/share/vm/opto/doCall.cpp	Tue Oct 23 13:06:37 2012 -0700
     1.2 +++ b/src/share/vm/opto/doCall.cpp	Wed Oct 24 14:33:22 2012 -0700
     1.3 @@ -107,7 +107,17 @@
     1.4    // intrinsics handle strict f.p. correctly.
     1.5    if (allow_inline && allow_intrinsics) {
     1.6      CallGenerator* cg = find_intrinsic(callee, call_is_virtual);
     1.7 -    if (cg != NULL)  return cg;
     1.8 +    if (cg != NULL) {
     1.9 +      if (cg->is_predicted()) {
    1.10 +        // Code without intrinsic but, hopefully, inlined.
    1.11 +        CallGenerator* inline_cg = this->call_generator(callee,
    1.12 +              vtable_index, call_is_virtual, jvms, allow_inline, prof_factor, false);
    1.13 +        if (inline_cg != NULL) {
    1.14 +          cg = CallGenerator::for_predicted_intrinsic(cg, inline_cg);
    1.15 +        }
    1.16 +      }
    1.17 +      return cg;
    1.18 +    }
    1.19    }
    1.20  
    1.21    // Do method handle calls.

mercurial