src/share/vm/c1/c1_CodeStubs.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6919934 Cdiff src/share/vm/c1/c1_CodeStubs.hpp

src/share/vm/c1/c1_CodeStubs.hpp

Print this page

        

*** 1,7 **** /* ! * Copyright 1999-2006 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright 1999-2010 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 413,422 **** --- 413,444 ---- virtual void print_name(outputStream* out) const { out->print("PatchingStub"); } #endif // PRODUCT }; + //------------------------------------------------------------------------------ + // DeoptimizeStub + // + class DeoptimizeStub : public CodeStub { + private: + CodeEmitInfo* _info; + + public: + DeoptimizeStub(CodeEmitInfo* info) : _info(new CodeEmitInfo(info)) {} + + virtual void emit_code(LIR_Assembler* e); + virtual CodeEmitInfo* info() const { return _info; } + virtual bool is_exception_throw_stub() const { return true; } + virtual void visit(LIR_OpVisitState* visitor) { + visitor->do_slow_case(_info); + } + #ifndef PRODUCT + virtual void print_name(outputStream* out) const { out->print("DeoptimizeStub"); } + #endif // PRODUCT + }; + + class SimpleExceptionStub: public CodeStub { private: LIR_Opr _obj; Runtime1::StubID _stub; CodeEmitInfo* _info;
src/share/vm/c1/c1_CodeStubs.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File