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