Mercurial > hg > graal-jvmci-8
comparison src/share/vm/c1/c1_CodeStubs.hpp @ 24170:0b85ccd62409 jdk8u131-b01
8168699: Validate special case invocations
Reviewed-by: kevinw, vlivanov
author | coleenp |
---|---|
date | Tue, 13 Dec 2016 14:37:04 -0500 |
parents | 55fb97c4c58d |
children | 719853999215 |
comparison
equal
deleted
inserted
replaced
24169:5ee58c7d3938 | 24170:0b85ccd62409 |
---|---|
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 |