Mercurial > hg > truffle
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; |