Mercurial > hg > graal-compiler
comparison src/share/vm/c1/c1_LIRGenerator.hpp @ 8860:46f6f063b272
7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>
author | roland |
---|---|
date | Thu, 21 Mar 2013 09:27:54 +0100 |
parents | 7eca5de9e0b6 |
children | acadb114c818 |
comparison
equal
deleted
inserted
replaced
8780:98f3af397705 | 8860:46f6f063b272 |
---|---|
410 case If::neq: l = lir_cond_notEqual; break; | 410 case If::neq: l = lir_cond_notEqual; break; |
411 case If::lss: l = lir_cond_less; break; | 411 case If::lss: l = lir_cond_less; break; |
412 case If::leq: l = lir_cond_lessEqual; break; | 412 case If::leq: l = lir_cond_lessEqual; break; |
413 case If::geq: l = lir_cond_greaterEqual; break; | 413 case If::geq: l = lir_cond_greaterEqual; break; |
414 case If::gtr: l = lir_cond_greater; break; | 414 case If::gtr: l = lir_cond_greater; break; |
415 case If::aeq: l = lir_cond_aboveEqual; break; | |
416 case If::beq: l = lir_cond_belowEqual; break; | |
415 }; | 417 }; |
416 return l; | 418 return l; |
417 } | 419 } |
418 | 420 |
419 #ifdef __SOFTFP__ | 421 #ifdef __SOFTFP__ |
532 virtual void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x); | 534 virtual void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x); |
533 virtual void do_ProfileCall (ProfileCall* x); | 535 virtual void do_ProfileCall (ProfileCall* x); |
534 virtual void do_ProfileInvoke (ProfileInvoke* x); | 536 virtual void do_ProfileInvoke (ProfileInvoke* x); |
535 virtual void do_RuntimeCall (RuntimeCall* x); | 537 virtual void do_RuntimeCall (RuntimeCall* x); |
536 virtual void do_MemBar (MemBar* x); | 538 virtual void do_MemBar (MemBar* x); |
539 virtual void do_RangeCheckPredicate(RangeCheckPredicate* x); | |
540 virtual void do_Assert (Assert* x); | |
537 }; | 541 }; |
538 | 542 |
539 | 543 |
540 class LIRItem: public CompilationResourceObj { | 544 class LIRItem: public CompilationResourceObj { |
541 private: | 545 private: |