1 /* |
1 /* |
2 * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1999, 2016, 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. |
55 virtual void emit_code(LIR_Assembler* e) = 0; |
55 virtual void emit_code(LIR_Assembler* e) = 0; |
56 virtual CodeEmitInfo* info() const { return NULL; } |
56 virtual CodeEmitInfo* info() const { return NULL; } |
57 virtual bool is_exception_throw_stub() const { return false; } |
57 virtual bool is_exception_throw_stub() const { return false; } |
58 virtual bool is_range_check_stub() const { return false; } |
58 virtual bool is_range_check_stub() const { return false; } |
59 virtual bool is_divbyzero_stub() const { return false; } |
59 virtual bool is_divbyzero_stub() const { return false; } |
|
60 virtual bool is_simple_exception_stub() const { return false; } |
60 #ifndef PRODUCT |
61 #ifndef PRODUCT |
61 virtual void print_name(outputStream* out) const = 0; |
62 virtual void print_name(outputStream* out) const = 0; |
62 #endif |
63 #endif |
63 |
64 |
64 // label access |
65 // label access |
482 } |
483 } |
483 |
484 |
484 virtual void emit_code(LIR_Assembler* e); |
485 virtual void emit_code(LIR_Assembler* e); |
485 virtual CodeEmitInfo* info() const { return _info; } |
486 virtual CodeEmitInfo* info() const { return _info; } |
486 virtual bool is_exception_throw_stub() const { return true; } |
487 virtual bool is_exception_throw_stub() const { return true; } |
|
488 virtual bool is_simple_exception_stub() const { return true; } |
487 virtual void visit(LIR_OpVisitState* visitor) { |
489 virtual void visit(LIR_OpVisitState* visitor) { |
488 if (_obj->is_valid()) visitor->do_input(_obj); |
490 if (_obj->is_valid()) visitor->do_input(_obj); |
489 visitor->do_slow_case(_info); |
491 visitor->do_slow_case(_info); |
490 } |
492 } |
491 #ifndef PRODUCT |
493 #ifndef PRODUCT |