1 /* |
1 /* |
2 * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 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. |
59 address generate_safept_entry_for(TosState state, address runtime_entry); |
59 address generate_safept_entry_for(TosState state, address runtime_entry); |
60 void generate_throw_exception(); |
60 void generate_throw_exception(); |
61 |
61 |
62 void lock_method(); |
62 void lock_method(); |
63 |
63 |
|
64 void bang_stack_shadow_pages(bool native_call); |
|
65 |
64 // Instruction generation |
66 // Instruction generation |
65 void generate_and_dispatch (Template* t, TosState tos_out = ilgl); |
67 void generate_and_dispatch (Template* t, TosState tos_out = ilgl); |
66 void set_vtos_entry_points (Template* t, address& bep, address& cep, address& sep, address& aep, address& iep, address& lep, address& fep, address& dep, address& vep); |
68 void set_vtos_entry_points (Template* t, address& bep, address& cep, address& sep, address& aep, address& iep, address& lep, address& fep, address& dep, address& vep); |
67 void set_short_entry_points(Template* t, address& bep, address& cep, address& sep, address& aep, address& iep, address& lep, address& fep, address& dep, address& vep); |
69 void set_short_entry_points(Template* t, address& bep, address& cep, address& sep, address& aep, address& iep, address& lep, address& fep, address& dep, address& vep); |
68 void set_wide_entry_point (Template* t, address& wep); |
70 void set_wide_entry_point (Template* t, address& wep); |
111 void save_native_result(void); |
113 void save_native_result(void); |
112 void restore_native_result(void); |
114 void restore_native_result(void); |
113 #endif // SPARC |
115 #endif // SPARC |
114 |
116 |
115 #ifdef AARCH64 |
117 #ifdef AARCH64 |
116 void bang_stack_shadow_pages(bool native_call); |
|
117 void generate_transcendental_entry(AbstractInterpreter::MethodKind kind, int fpargs); |
118 void generate_transcendental_entry(AbstractInterpreter::MethodKind kind, int fpargs); |
118 #endif // AARCH64 |
119 #endif // AARCH64 |
119 |
120 |
120 #ifdef PPC |
121 #ifdef PPC |
121 void lock_method(Register Rflags, Register Rscratch1, Register Rscratch2, bool flags_preloaded=false); |
122 void lock_method(Register Rflags, Register Rscratch1, Register Rscratch2, bool flags_preloaded=false); |