src/share/vm/c1/c1_CodeStubs.hpp

changeset 2488
e4fee0bdaa85
parent 2314
f95d63e2154a
child 2781
e1162778c1c8
equal deleted inserted replaced
2487:aa4b04b68652 2488:e4fee0bdaa85
1 /* 1 /*
2 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1999, 2011, Oracle and/or its affiliates. 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.
474 #endif // PRODUCT 474 #endif // PRODUCT
475 }; 475 };
476 476
477 477
478 478
479 class ArrayStoreExceptionStub: public CodeStub { 479 class ArrayStoreExceptionStub: public SimpleExceptionStub {
480 private: 480 private:
481 CodeEmitInfo* _info; 481 CodeEmitInfo* _info;
482 482
483 public: 483 public:
484 ArrayStoreExceptionStub(CodeEmitInfo* info); 484 ArrayStoreExceptionStub(LIR_Opr obj, CodeEmitInfo* info): SimpleExceptionStub(Runtime1::throw_array_store_exception_id, obj, info) {}
485 virtual void emit_code(LIR_Assembler* emit);
486 virtual CodeEmitInfo* info() const { return _info; }
487 virtual bool is_exception_throw_stub() const { return true; }
488 virtual void visit(LIR_OpVisitState* visitor) {
489 visitor->do_slow_case(_info);
490 }
491 #ifndef PRODUCT 485 #ifndef PRODUCT
492 virtual void print_name(outputStream* out) const { out->print("ArrayStoreExceptionStub"); } 486 virtual void print_name(outputStream* out) const { out->print("ArrayStoreExceptionStub"); }
493 #endif // PRODUCT 487 #endif // PRODUCT
494 }; 488 };
495 489

mercurial