Mercurial > hg > truffle
comparison src/share/vm/opto/matcher.hpp @ 4047:d8cb48376797
7097546: Optimize use of CMOVE instructions
Summary: Avoid CMove in a loop if possible. May generate CMove if it could be moved outside a loop.
Reviewed-by: never
author | kvn |
---|---|
date | Wed, 26 Oct 2011 06:08:56 -0700 |
parents | 95134e034042 |
children | 6729bbc1fcd6 |
comparison
equal
deleted
inserted
replaced
4046:e69a66a1457b | 4047:d8cb48376797 |
---|---|
358 | 358 |
359 // Threshold small size (in bytes) for a ClearArray/CopyArray node. | 359 // Threshold small size (in bytes) for a ClearArray/CopyArray node. |
360 // Anything this size or smaller may get converted to discrete scalar stores. | 360 // Anything this size or smaller may get converted to discrete scalar stores. |
361 static const int init_array_short_size; | 361 static const int init_array_short_size; |
362 | 362 |
363 // Some hardware needs 2 CMOV's for longs. | |
364 static const int long_cmove_cost(); | |
365 | |
366 // Some hardware have expensive CMOV for float and double. | |
367 static const int float_cmove_cost(); | |
368 | |
363 // Should the Matcher clone shifts on addressing modes, expecting them to | 369 // Should the Matcher clone shifts on addressing modes, expecting them to |
364 // be subsumed into complex addressing expressions or compute them into | 370 // be subsumed into complex addressing expressions or compute them into |
365 // registers? True for Intel but false for most RISCs | 371 // registers? True for Intel but false for most RISCs |
366 static const bool clone_shift_expressions; | 372 static const bool clone_shift_expressions; |
367 | 373 |