equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright 1999-2006 Sun Microsystems, Inc. All Rights Reserved. |
2 * Copyright 1999-2010 Sun Microsystems, Inc. All Rights Reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
413 virtual void print_name(outputStream* out) const { out->print("PatchingStub"); } |
413 virtual void print_name(outputStream* out) const { out->print("PatchingStub"); } |
414 #endif // PRODUCT |
414 #endif // PRODUCT |
415 }; |
415 }; |
416 |
416 |
417 |
417 |
|
418 //------------------------------------------------------------------------------ |
|
419 // DeoptimizeStub |
|
420 // |
|
421 class DeoptimizeStub : public CodeStub { |
|
422 private: |
|
423 CodeEmitInfo* _info; |
|
424 |
|
425 public: |
|
426 DeoptimizeStub(CodeEmitInfo* info) : _info(new CodeEmitInfo(info)) {} |
|
427 |
|
428 virtual void emit_code(LIR_Assembler* e); |
|
429 virtual CodeEmitInfo* info() const { return _info; } |
|
430 virtual bool is_exception_throw_stub() const { return true; } |
|
431 virtual void visit(LIR_OpVisitState* visitor) { |
|
432 visitor->do_slow_case(_info); |
|
433 } |
|
434 #ifndef PRODUCT |
|
435 virtual void print_name(outputStream* out) const { out->print("DeoptimizeStub"); } |
|
436 #endif // PRODUCT |
|
437 }; |
|
438 |
|
439 |
418 class SimpleExceptionStub: public CodeStub { |
440 class SimpleExceptionStub: public CodeStub { |
419 private: |
441 private: |
420 LIR_Opr _obj; |
442 LIR_Opr _obj; |
421 Runtime1::StubID _stub; |
443 Runtime1::StubID _stub; |
422 CodeEmitInfo* _info; |
444 CodeEmitInfo* _info; |