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: