src/share/vm/c1/c1_LIRGenerator.hpp

Print this page
rev 4136 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by:

*** 410,419 **** --- 410,421 ---- case If::neq: l = lir_cond_notEqual; break; case If::lss: l = lir_cond_less; break; case If::leq: l = lir_cond_lessEqual; break; case If::geq: l = lir_cond_greaterEqual; break; case If::gtr: l = lir_cond_greater; break; + case If::aeq: l = lir_cond_aboveEqual; break; + case If::beq: l = lir_cond_belowEqual; break; }; return l; } #ifdef __SOFTFP__
*** 532,541 **** --- 534,545 ---- virtual void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x); virtual void do_ProfileCall (ProfileCall* x); virtual void do_ProfileInvoke (ProfileInvoke* x); virtual void do_RuntimeCall (RuntimeCall* x); virtual void do_MemBar (MemBar* x); + virtual void do_RangeCheckPredicate(RangeCheckPredicate* x); + virtual void do_Assert (Assert* x); }; class LIRItem: public CompilationResourceObj { private: