Mercurial > hg > truffle
comparison src/share/vm/c1/c1_CodeStubs.hpp @ 1295:3cf667df43ef
6919934: JSR 292 needs to support x86 C1
Summary: This implements JSR 292 support for C1 x86.
Reviewed-by: never, jrose, kvn
author | twisti |
---|---|
date | Tue, 09 Mar 2010 20:16:19 +0100 |
parents | 37f87013dfd8 |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1293:51db1e4b379d | 1295:3cf667df43ef |
---|---|
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; |