comparison src/share/vm/opto/library_call.cpp @ 5613:a57a165b8296

8027353: Exact intrinsics: assert(n != NULL) failed: must not be null Reviewed-by: kvn, roland
author rbackman
date Mon, 28 Oct 2013 08:34:10 +0100
parents 59e8ad757e19
children
comparison
equal deleted inserted replaced
120:cd89e5c2a1ac 121:5e5e844582a3
2004 bool LibraryCallKit::inline_math_addExactI(bool is_increment) { 2004 bool LibraryCallKit::inline_math_addExactI(bool is_increment) {
2005 Node* arg1 = argument(0); 2005 Node* arg1 = argument(0);
2006 Node* arg2 = NULL; 2006 Node* arg2 = NULL;
2007 2007
2008 if (is_increment) { 2008 if (is_increment) {
2009 arg2 = intcon(1); 2009 arg2 = intcon(1);
2010 } else { 2010 } else {
2011 arg2 = argument(1); 2011 arg2 = argument(1);
2012 } 2012 }
2013 2013
2014 Node* add = _gvn.transform( new(C) AddExactINode(NULL, arg1, arg2) ); 2014 Node* add = _gvn.transform( new(C) AddExactINode(NULL, arg1, arg2) );
2015 inline_math_mathExact(add); 2015 inline_math_mathExact(add);
2016 return true; 2016 return true;
2054 Node* arg2 = NULL; 2054 Node* arg2 = NULL;
2055 2055
2056 if (is_decrement) { 2056 if (is_decrement) {
2057 arg2 = longcon(1); 2057 arg2 = longcon(1);
2058 } else { 2058 } else {
2059 Node* arg2 = argument(2); // type long 2059 arg2 = argument(2); // type long
2060 // argument(3) == TOP 2060 // argument(3) == TOP
2061 } 2061 }
2062 2062
2063 Node* sub = _gvn.transform(new(C) SubExactLNode(NULL, arg1, arg2)); 2063 Node* sub = _gvn.transform(new(C) SubExactLNode(NULL, arg1, arg2));
2064 inline_math_mathExact(sub); 2064 inline_math_mathExact(sub);