src/share/vm/opto/subnode.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/subnode.cpp	Fri Jan 15 11:50:51 2010
--- new/src/share/vm/opto/subnode.cpp	Fri Jan 15 11:50:50 2010

*** 1,7 **** --- 1,7 ---- /* ! * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. ! * Copyright 1997-2010 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 1242,1253 **** --- 1242,1252 ---- const Type *CosDNode::Value( PhaseTransform *phase ) const { const Type *t1 = phase->type( in(1) ); if( t1 == Type::TOP ) return Type::TOP; if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; double d = t1->getd(); ! if( d < 0.0 ) return Type::DOUBLE; return TypeD::make( SharedRuntime::dcos( d ) ); ! return TypeD::make( StubRoutines::intrinsic_cos( d ) ); } //============================================================================= //------------------------------Value------------------------------------------ // Compute sin
*** 1254,1265 **** --- 1253,1263 ---- const Type *SinDNode::Value( PhaseTransform *phase ) const { const Type *t1 = phase->type( in(1) ); if( t1 == Type::TOP ) return Type::TOP; if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; double d = t1->getd(); ! if( d < 0.0 ) return Type::DOUBLE; return TypeD::make( SharedRuntime::dsin( d ) ); ! return TypeD::make( StubRoutines::intrinsic_sin( d ) ); } //============================================================================= //------------------------------Value------------------------------------------ // Compute tan
*** 1266,1277 **** --- 1264,1274 ---- const Type *TanDNode::Value( PhaseTransform *phase ) const { const Type *t1 = phase->type( in(1) ); if( t1 == Type::TOP ) return Type::TOP; if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; double d = t1->getd(); ! if( d < 0.0 ) return Type::DOUBLE; return TypeD::make( SharedRuntime::dtan( d ) ); ! return TypeD::make( StubRoutines::intrinsic_tan( d ) ); } //============================================================================= //------------------------------Value------------------------------------------ // Compute log
*** 1278,1289 **** --- 1275,1285 ---- const Type *LogDNode::Value( PhaseTransform *phase ) const { const Type *t1 = phase->type( in(1) ); if( t1 == Type::TOP ) return Type::TOP; if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; double d = t1->getd(); ! if( d < 0.0 ) return Type::DOUBLE; return TypeD::make( SharedRuntime::dlog( d ) ); ! return TypeD::make( StubRoutines::intrinsic_log( d ) ); } //============================================================================= //------------------------------Value------------------------------------------ // Compute log10
*** 1290,1301 **** --- 1286,1296 ---- const Type *Log10DNode::Value( PhaseTransform *phase ) const { const Type *t1 = phase->type( in(1) ); if( t1 == Type::TOP ) return Type::TOP; if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; double d = t1->getd(); ! if( d < 0.0 ) return Type::DOUBLE; return TypeD::make( SharedRuntime::dlog10( d ) ); ! return TypeD::make( StubRoutines::intrinsic_log10( d ) ); } //============================================================================= //------------------------------Value------------------------------------------ // Compute exp
*** 1302,1313 **** --- 1297,1307 ---- const Type *ExpDNode::Value( PhaseTransform *phase ) const { const Type *t1 = phase->type( in(1) ); if( t1 == Type::TOP ) return Type::TOP; if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; double d = t1->getd(); ! if( d < 0.0 ) return Type::DOUBLE; return TypeD::make( SharedRuntime::dexp( d ) ); ! return TypeD::make( StubRoutines::intrinsic_exp( d ) ); } //============================================================================= //------------------------------Value------------------------------------------
*** 1321,1327 **** --- 1315,1321 ---- if( t2->base() != Type::DoubleCon ) return Type::DOUBLE; double d1 = t1->getd(); double d2 = t2->getd(); if( d1 < 0.0 ) return Type::DOUBLE; if( d2 < 0.0 ) return Type::DOUBLE; ! return TypeD::make( SharedRuntime::dpow( d1, d2 ) ); ! return TypeD::make( StubRoutines::intrinsic_pow( d1, d2 ) ); }

src/share/vm/opto/subnode.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File