src/share/vm/c1/c1_CodeStubs.hpp

changeset 4860
46f6f063b272
parent 4542
db9981fd3124
child 5628
f98f5d48f511
     1.1 --- a/src/share/vm/c1/c1_CodeStubs.hpp	Wed Mar 20 17:04:45 2013 -0700
     1.2 +++ b/src/share/vm/c1/c1_CodeStubs.hpp	Thu Mar 21 09:27:54 2013 +0100
     1.3 @@ -166,6 +166,22 @@
     1.4  #endif // PRODUCT
     1.5  };
     1.6  
     1.7 +// stub used when predicate fails and deoptimization is needed
     1.8 +class PredicateFailedStub: public CodeStub {
     1.9 + private:
    1.10 +  CodeEmitInfo* _info;
    1.11 +
    1.12 + public:
    1.13 +  PredicateFailedStub(CodeEmitInfo* info);
    1.14 +  virtual void emit_code(LIR_Assembler* e);
    1.15 +  virtual CodeEmitInfo* info() const             { return _info; }
    1.16 +  virtual void visit(LIR_OpVisitState* visitor) {
    1.17 +    visitor->do_slow_case(_info);
    1.18 +  }
    1.19 +#ifndef PRODUCT
    1.20 +  virtual void print_name(outputStream* out) const { out->print("PredicateFailedStub"); }
    1.21 +#endif // PRODUCT
    1.22 +};
    1.23  
    1.24  class DivByZeroStub: public CodeStub {
    1.25   private:

mercurial