hotspot/src/share/vm/opto/library_call.cpp
changeset 21207 1331f7d48dd8
parent 21105 47618ee96ed5
child 22845 d8812d0ff387
child 22505 4523090c9674
equal deleted inserted replaced
21206:38a503886b18 21207:1331f7d48dd8
  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);