1.1 --- a/src/share/vm/c1/c1_GraphBuilder.cpp Mon May 14 09:36:00 2012 -0700 1.2 +++ b/src/share/vm/c1/c1_GraphBuilder.cpp Tue May 15 10:10:23 2012 +0200 1.3 @@ -2949,6 +2949,8 @@ 1.4 case vmIntrinsics::_dtan : // fall through 1.5 case vmIntrinsics::_dlog : // fall through 1.6 case vmIntrinsics::_dlog10 : // fall through 1.7 + case vmIntrinsics::_dexp : // fall through 1.8 + case vmIntrinsics::_dpow : // fall through 1.9 { 1.10 // Compiles where the root method is an intrinsic need a special 1.11 // compilation environment because the bytecodes for the method 1.12 @@ -2969,6 +2971,9 @@ 1.13 _state = start_block->state()->copy_for_parsing(); 1.14 _last = start_block; 1.15 load_local(doubleType, 0); 1.16 + if (scope->method()->intrinsic_id() == vmIntrinsics::_dpow) { 1.17 + load_local(doubleType, 2); 1.18 + } 1.19 1.20 // Emit the intrinsic node. 1.21 bool result = try_inline_intrinsics(scope->method()); 1.22 @@ -3182,6 +3187,8 @@ 1.23 case vmIntrinsics::_dtan : // fall through 1.24 case vmIntrinsics::_dlog : // fall through 1.25 case vmIntrinsics::_dlog10 : // fall through 1.26 + case vmIntrinsics::_dexp : // fall through 1.27 + case vmIntrinsics::_dpow : // fall through 1.28 if (!InlineMathNatives) return false; 1.29 cantrap = false; 1.30 preserves_state = true;