1 /* |
1 /* |
2 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2015, 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. |
82 max_size_of_parameters = 256 // max. parameter size supported by megamorphic lookups |
82 max_size_of_parameters = 256 // max. parameter size supported by megamorphic lookups |
83 }; |
83 }; |
84 |
84 |
85 // Dependencies |
85 // Dependencies |
86 friend class StubGenerator; |
86 friend class StubGenerator; |
87 #ifdef TARGET_ARCH_MODEL_x86_32 |
87 #if defined STUBROUTINES_MD_HPP |
|
88 # include STUBROUTINES_MD_HPP |
|
89 #elif defined TARGET_ARCH_MODEL_x86_32 |
88 # include "stubRoutines_x86_32.hpp" |
90 # include "stubRoutines_x86_32.hpp" |
89 #endif |
91 #elif defined TARGET_ARCH_MODEL_x86_64 |
90 #ifdef TARGET_ARCH_MODEL_x86_64 |
|
91 # include "stubRoutines_x86_64.hpp" |
92 # include "stubRoutines_x86_64.hpp" |
92 #endif |
93 #elif defined TARGET_ARCH_MODEL_sparc |
93 #ifdef TARGET_ARCH_MODEL_sparc |
|
94 # include "stubRoutines_sparc.hpp" |
94 # include "stubRoutines_sparc.hpp" |
95 #endif |
95 #elif defined TARGET_ARCH_MODEL_zero |
96 #ifdef TARGET_ARCH_MODEL_zero |
|
97 # include "stubRoutines_zero.hpp" |
96 # include "stubRoutines_zero.hpp" |
98 #endif |
97 #elif defined TARGET_ARCH_MODEL_ppc_64 |
99 #ifdef TARGET_ARCH_MODEL_arm |
|
100 # include "stubRoutines_arm.hpp" |
|
101 #endif |
|
102 #ifdef TARGET_ARCH_MODEL_ppc_32 |
|
103 # include "stubRoutines_ppc_32.hpp" |
|
104 #endif |
|
105 #ifdef TARGET_ARCH_MODEL_ppc_64 |
|
106 # include "stubRoutines_ppc_64.hpp" |
98 # include "stubRoutines_ppc_64.hpp" |
107 #endif |
99 #elif defined TARGET_ARCH_MODEL_aarch64 |
108 #ifdef TARGET_ARCH_MODEL_aarch64 |
|
109 # include "stubRoutines_aarch64.hpp" |
100 # include "stubRoutines_aarch64.hpp" |
110 #endif |
101 #endif |
111 |
|
112 |
102 |
113 static jint _verify_oop_count; |
103 static jint _verify_oop_count; |
114 static address _verify_oop_subroutine_entry; |
104 static address _verify_oop_subroutine_entry; |
115 |
105 |
116 static address _call_stub_return_address; // the return PC, when returning to a call stub |
106 static address _call_stub_return_address; // the return PC, when returning to a call stub |