Mercurial > hg > truffle
comparison src/share/vm/opto/library_call.cpp @ 13019: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 | 00f5eff62d18 2113136690bc |
comparison
equal
deleted
inserted
replaced
13018:fc1632f5021a | 13019:a57a165b8296 |
---|---|
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); |