comparison src/share/vm/opto/type.hpp @ 7194:beebba0acc11

7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop() Reviewed-by: kvn, jrose
author twisti
date Mon, 26 Nov 2012 17:25:11 -0800
parents 8e47bac5643a
children 6f3fd5150b67
comparison
equal deleted inserted replaced
7193:ee32440febeb 7194:beebba0acc11
240 240
241 const TypeInt *is_int() const; 241 const TypeInt *is_int() const;
242 const TypeInt *isa_int() const; // Returns NULL if not an Int 242 const TypeInt *isa_int() const; // Returns NULL if not an Int
243 const TypeLong *is_long() const; 243 const TypeLong *is_long() const;
244 const TypeLong *isa_long() const; // Returns NULL if not a Long 244 const TypeLong *isa_long() const; // Returns NULL if not a Long
245 const TypeD *isa_double() const; // Returns NULL if not a Double{Top,Con,Bot}
245 const TypeD *is_double_constant() const; // Asserts it is a DoubleCon 246 const TypeD *is_double_constant() const; // Asserts it is a DoubleCon
246 const TypeD *isa_double_constant() const; // Returns NULL if not a DoubleCon 247 const TypeD *isa_double_constant() const; // Returns NULL if not a DoubleCon
248 const TypeF *isa_float() const; // Returns NULL if not a Float{Top,Con,Bot}
247 const TypeF *is_float_constant() const; // Asserts it is a FloatCon 249 const TypeF *is_float_constant() const; // Asserts it is a FloatCon
248 const TypeF *isa_float_constant() const; // Returns NULL if not a FloatCon 250 const TypeF *isa_float_constant() const; // Returns NULL if not a FloatCon
249 const TypeTuple *is_tuple() const; // Collection of fields, NOT a pointer 251 const TypeTuple *is_tuple() const; // Collection of fields, NOT a pointer
250 const TypeAry *is_ary() const; // Array, NOT array pointer 252 const TypeAry *is_ary() const; // Array, NOT array pointer
251 const TypeVect *is_vect() const; // Vector 253 const TypeVect *is_vect() const; // Vector
1318 inline double Type::getd() const { 1320 inline double Type::getd() const {
1319 assert( _base == DoubleCon, "Not a DoubleCon" ); 1321 assert( _base == DoubleCon, "Not a DoubleCon" );
1320 return ((TypeD*)this)->_d; 1322 return ((TypeD*)this)->_d;
1321 } 1323 }
1322 1324
1325 inline const TypeInt *Type::is_int() const {
1326 assert( _base == Int, "Not an Int" );
1327 return (TypeInt*)this;
1328 }
1329
1330 inline const TypeInt *Type::isa_int() const {
1331 return ( _base == Int ? (TypeInt*)this : NULL);
1332 }
1333
1334 inline const TypeLong *Type::is_long() const {
1335 assert( _base == Long, "Not a Long" );
1336 return (TypeLong*)this;
1337 }
1338
1339 inline const TypeLong *Type::isa_long() const {
1340 return ( _base == Long ? (TypeLong*)this : NULL);
1341 }
1342
1343 inline const TypeF *Type::isa_float() const {
1344 return ((_base == FloatTop ||
1345 _base == FloatCon ||
1346 _base == FloatBot) ? (TypeF*)this : NULL);
1347 }
1348
1323 inline const TypeF *Type::is_float_constant() const { 1349 inline const TypeF *Type::is_float_constant() const {
1324 assert( _base == FloatCon, "Not a Float" ); 1350 assert( _base == FloatCon, "Not a Float" );
1325 return (TypeF*)this; 1351 return (TypeF*)this;
1326 } 1352 }
1327 1353
1328 inline const TypeF *Type::isa_float_constant() const { 1354 inline const TypeF *Type::isa_float_constant() const {
1329 return ( _base == FloatCon ? (TypeF*)this : NULL); 1355 return ( _base == FloatCon ? (TypeF*)this : NULL);
1330 } 1356 }
1331 1357
1358 inline const TypeD *Type::isa_double() const {
1359 return ((_base == DoubleTop ||
1360 _base == DoubleCon ||
1361 _base == DoubleBot) ? (TypeD*)this : NULL);
1362 }
1363
1332 inline const TypeD *Type::is_double_constant() const { 1364 inline const TypeD *Type::is_double_constant() const {
1333 assert( _base == DoubleCon, "Not a Double" ); 1365 assert( _base == DoubleCon, "Not a Double" );
1334 return (TypeD*)this; 1366 return (TypeD*)this;
1335 } 1367 }
1336 1368
1337 inline const TypeD *Type::isa_double_constant() const { 1369 inline const TypeD *Type::isa_double_constant() const {
1338 return ( _base == DoubleCon ? (TypeD*)this : NULL); 1370 return ( _base == DoubleCon ? (TypeD*)this : NULL);
1339 }
1340
1341 inline const TypeInt *Type::is_int() const {
1342 assert( _base == Int, "Not an Int" );
1343 return (TypeInt*)this;
1344 }
1345
1346 inline const TypeInt *Type::isa_int() const {
1347 return ( _base == Int ? (TypeInt*)this : NULL);
1348 }
1349
1350 inline const TypeLong *Type::is_long() const {
1351 assert( _base == Long, "Not a Long" );
1352 return (TypeLong*)this;
1353 }
1354
1355 inline const TypeLong *Type::isa_long() const {
1356 return ( _base == Long ? (TypeLong*)this : NULL);
1357 } 1371 }
1358 1372
1359 inline const TypeTuple *Type::is_tuple() const { 1373 inline const TypeTuple *Type::is_tuple() const {
1360 assert( _base == Tuple, "Not a Tuple" ); 1374 assert( _base == Tuple, "Not a Tuple" );
1361 return (TypeTuple*)this; 1375 return (TypeTuple*)this;