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 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #include "incls/_precompiled.incl" 26 #include "incls/_sharedRuntime_sparc.cpp.incl" 27 28 #define __ masm-> 29 30 #ifdef COMPILER2 31 UncommonTrapBlob* SharedRuntime::_uncommon_trap_blob; 32 #endif // COMPILER2 33 34 DeoptimizationBlob* SharedRuntime::_deopt_blob; 35 SafepointBlob* SharedRuntime::_polling_page_safepoint_handler_blob; 36 SafepointBlob* SharedRuntime::_polling_page_return_handler_blob; 37 RuntimeStub* SharedRuntime::_wrong_method_blob; 38 RuntimeStub* SharedRuntime::_ic_miss_blob; 39 RuntimeStub* SharedRuntime::_resolve_opt_virtual_call_blob; 40 RuntimeStub* SharedRuntime::_resolve_virtual_call_blob; 41 RuntimeStub* SharedRuntime::_resolve_static_call_blob; 42 43 class RegisterSaver { 44 45 // Used for saving volatile registers. This is Gregs, Fregs, I/L/O. 46 // The Oregs are problematic. In the 32bit build the compiler can | 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 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #include "precompiled.hpp" 26 #include "asm/assembler.hpp" 27 #include "assembler_sparc.inline.hpp" 28 #include "code/debugInfoRec.hpp" 29 #include "code/icBuffer.hpp" 30 #include "code/vtableStubs.hpp" 31 #include "interpreter/interpreter.hpp" 32 #include "oops/compiledICHolderOop.hpp" 33 #include "prims/jvmtiRedefineClassesTrace.hpp" 34 #include "runtime/sharedRuntime.hpp" 35 #include "runtime/vframeArray.hpp" 36 #include "vmreg_sparc.inline.hpp" 37 #ifdef COMPILER1 38 #include "c1/c1_Runtime1.hpp" 39 #endif 40 #ifdef COMPILER2 41 #include "opto/runtime.hpp" 42 #endif 43 #ifdef SHARK 44 #include "compiler/compileBroker.hpp" 45 #include "shark/sharkCompiler.hpp" 46 #endif 47 48 #define __ masm-> 49 50 #ifdef COMPILER2 51 UncommonTrapBlob* SharedRuntime::_uncommon_trap_blob; 52 #endif // COMPILER2 53 54 DeoptimizationBlob* SharedRuntime::_deopt_blob; 55 SafepointBlob* SharedRuntime::_polling_page_safepoint_handler_blob; 56 SafepointBlob* SharedRuntime::_polling_page_return_handler_blob; 57 RuntimeStub* SharedRuntime::_wrong_method_blob; 58 RuntimeStub* SharedRuntime::_ic_miss_blob; 59 RuntimeStub* SharedRuntime::_resolve_opt_virtual_call_blob; 60 RuntimeStub* SharedRuntime::_resolve_virtual_call_blob; 61 RuntimeStub* SharedRuntime::_resolve_static_call_blob; 62 63 class RegisterSaver { 64 65 // Used for saving volatile registers. This is Gregs, Fregs, I/L/O. 66 // The Oregs are problematic. In the 32bit build the compiler can |