< prev index next >
src/share/vm/opto/library_call.cpp
Print this page
rev 9088 : 8139040: Fix initializations before ShouldNotReachHere() etc. and enable -Wuninitialized on linux.
*** 1363,1373 ****
// public static double Math.sqrt(double)
// public static double Math.log(double)
// public static double Math.log10(double)
bool LibraryCallKit::inline_math(vmIntrinsics::ID id) {
Node* arg = round_double_node(argument(0));
! Node* n;
switch (id) {
case vmIntrinsics::_dabs: n = new AbsDNode( arg); break;
case vmIntrinsics::_dsqrt: n = new SqrtDNode(C, control(), arg); break;
case vmIntrinsics::_dlog: n = new LogDNode(C, control(), arg); break;
case vmIntrinsics::_dlog10: n = new Log10DNode(C, control(), arg); break;
--- 1363,1373 ----
// public static double Math.sqrt(double)
// public static double Math.log(double)
// public static double Math.log10(double)
bool LibraryCallKit::inline_math(vmIntrinsics::ID id) {
Node* arg = round_double_node(argument(0));
! Node* n = NULL;
switch (id) {
case vmIntrinsics::_dabs: n = new AbsDNode( arg); break;
case vmIntrinsics::_dsqrt: n = new SqrtDNode(C, control(), arg); break;
case vmIntrinsics::_dlog: n = new LogDNode(C, control(), arg); break;
case vmIntrinsics::_dlog10: n = new Log10DNode(C, control(), arg); break;
*** 2119,2129 ****
// inline short Short.reverseBytes(short)
// inline int Integer.reverseBytes(int)
// inline long Long.reverseBytes(long)
bool LibraryCallKit::inline_number_methods(vmIntrinsics::ID id) {
Node* arg = argument(0);
! Node* n;
switch (id) {
case vmIntrinsics::_numberOfLeadingZeros_i: n = new CountLeadingZerosINode( arg); break;
case vmIntrinsics::_numberOfLeadingZeros_l: n = new CountLeadingZerosLNode( arg); break;
case vmIntrinsics::_numberOfTrailingZeros_i: n = new CountTrailingZerosINode(arg); break;
case vmIntrinsics::_numberOfTrailingZeros_l: n = new CountTrailingZerosLNode(arg); break;
--- 2119,2129 ----
// inline short Short.reverseBytes(short)
// inline int Integer.reverseBytes(int)
// inline long Long.reverseBytes(long)
bool LibraryCallKit::inline_number_methods(vmIntrinsics::ID id) {
Node* arg = argument(0);
! Node* n = NULL;
switch (id) {
case vmIntrinsics::_numberOfLeadingZeros_i: n = new CountLeadingZerosINode( arg); break;
case vmIntrinsics::_numberOfLeadingZeros_l: n = new CountLeadingZerosLNode( arg); break;
case vmIntrinsics::_numberOfTrailingZeros_i: n = new CountTrailingZerosINode(arg); break;
case vmIntrinsics::_numberOfTrailingZeros_l: n = new CountTrailingZerosLNode(arg); break;
*** 2659,2669 ****
// dependency which will confuse the scheduler.
Node *mem = memory(alias_idx);
// For now, we handle only those cases that actually exist: ints,
// longs, and Object. Adding others should be straightforward.
! Node* load_store;
switch(type) {
case T_INT:
if (kind == LS_xadd) {
load_store = _gvn.transform(new GetAndAddINode(control(), mem, adr, newval, adr_type));
} else if (kind == LS_xchg) {
--- 2659,2669 ----
// dependency which will confuse the scheduler.
Node *mem = memory(alias_idx);
// For now, we handle only those cases that actually exist: ints,
// longs, and Object. Adding others should be straightforward.
! Node* load_store = NULL;
switch(type) {
case T_INT:
if (kind == LS_xadd) {
load_store = _gvn.transform(new GetAndAddINode(control(), mem, adr, newval, adr_type));
} else if (kind == LS_xchg) {
*** 3665,3675 ****
Node* original = argument(0);
Node* start = is_copyOfRange? argument(1): intcon(0);
Node* end = is_copyOfRange? argument(2): argument(1);
Node* array_type_mirror = is_copyOfRange? argument(3): argument(2);
! Node* newcopy;
// Set the original stack and the reexecute bit for the interpreter to reexecute
// the bytecode that invokes Arrays.copyOf if deoptimization happens.
{ PreserveReexecuteState preexecs(this);
jvms()->set_should_reexecute(true);
--- 3665,3675 ----
Node* original = argument(0);
Node* start = is_copyOfRange? argument(1): intcon(0);
Node* end = is_copyOfRange? argument(2): argument(1);
Node* array_type_mirror = is_copyOfRange? argument(3): argument(2);
! Node* newcopy = NULL;
// Set the original stack and the reexecute bit for the interpreter to reexecute
// the bytecode that invokes Arrays.copyOf if deoptimization happens.
{ PreserveReexecuteState preexecs(this);
jvms()->set_should_reexecute(true);
*** 4100,4110 ****
return false; // bail-out; let JVM_GetCallerClass do the work
}
bool LibraryCallKit::inline_fp_conversions(vmIntrinsics::ID id) {
Node* arg = argument(0);
! Node* result;
switch (id) {
case vmIntrinsics::_floatToRawIntBits: result = new MoveF2INode(arg); break;
case vmIntrinsics::_intBitsToFloat: result = new MoveI2FNode(arg); break;
case vmIntrinsics::_doubleToRawLongBits: result = new MoveD2LNode(arg); break;
--- 4100,4110 ----
return false; // bail-out; let JVM_GetCallerClass do the work
}
bool LibraryCallKit::inline_fp_conversions(vmIntrinsics::ID id) {
Node* arg = argument(0);
! Node* result = NULL;
switch (id) {
case vmIntrinsics::_floatToRawIntBits: result = new MoveF2INode(arg); break;
case vmIntrinsics::_intBitsToFloat: result = new MoveI2FNode(arg); break;
case vmIntrinsics::_doubleToRawLongBits: result = new MoveD2LNode(arg); break;
*** 5729,5739 ****
}
//------------------------------inline_aescrypt_Block-----------------------
bool LibraryCallKit::inline_aescrypt_Block(vmIntrinsics::ID id) {
! address stubAddr;
const char *stubName;
assert(UseAES, "need AES instruction support");
switch(id) {
case vmIntrinsics::_aescrypt_encryptBlock:
--- 5729,5739 ----
}
//------------------------------inline_aescrypt_Block-----------------------
bool LibraryCallKit::inline_aescrypt_Block(vmIntrinsics::ID id) {
! address stubAddr = NULL;
const char *stubName;
assert(UseAES, "need AES instruction support");
switch(id) {
case vmIntrinsics::_aescrypt_encryptBlock:
*** 5795,5806 ****
return true;
}
//------------------------------inline_cipherBlockChaining_AESCrypt-----------------------
bool LibraryCallKit::inline_cipherBlockChaining_AESCrypt(vmIntrinsics::ID id) {
! address stubAddr;
! const char *stubName;
assert(UseAES, "need AES instruction support");
switch(id) {
case vmIntrinsics::_cipherBlockChaining_encryptAESCrypt:
--- 5795,5806 ----
return true;
}
//------------------------------inline_cipherBlockChaining_AESCrypt-----------------------
bool LibraryCallKit::inline_cipherBlockChaining_AESCrypt(vmIntrinsics::ID id) {
! address stubAddr = NULL;
! const char *stubName = NULL;
assert(UseAES, "need AES instruction support");
switch(id) {
case vmIntrinsics::_cipherBlockChaining_encryptAESCrypt:
< prev index next >