1010N/A/*
4155N/A * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
4155N/A * Copyright (c) 2007, 2013, Red Hat, Inc.
1010N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1010N/A *
1010N/A * This code is free software; you can redistribute it and/or modify it
1010N/A * under the terms of the GNU General Public License version 2 only, as
1010N/A * published by the Free Software Foundation.
1010N/A *
1010N/A * This code is distributed in the hope that it will be useful, but WITHOUT
1010N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1010N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1010N/A * version 2 for more details (a copy is included in the LICENSE file that
1010N/A * accompanied this code).
1010N/A *
1010N/A * You should have received a copy of the GNU General Public License version
1010N/A * 2 along with this work; if not, write to the Free Software Foundation,
1010N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
1010N/A *
1472N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
1472N/A * or visit www.oracle.com if you need additional information or have any
1472N/A * questions.
1010N/A *
1010N/A */
1010N/A
1879N/A#include "precompiled.hpp"
1879N/A#include "asm/assembler.hpp"
1879N/A#include "assembler_zero.inline.hpp"
1879N/A#include "code/debugInfoRec.hpp"
1879N/A#include "code/icBuffer.hpp"
1879N/A#include "code/vtableStubs.hpp"
1879N/A#include "interpreter/interpreter.hpp"
1879N/A#include "oops/compiledICHolderOop.hpp"
1879N/A#include "prims/jvmtiRedefineClassesTrace.hpp"
1879N/A#include "runtime/sharedRuntime.hpp"
1879N/A#include "runtime/vframeArray.hpp"
1879N/A#include "vmreg_zero.inline.hpp"
4155N/A
1879N/A#ifdef COMPILER1
1879N/A#include "c1/c1_Runtime1.hpp"
1879N/A#endif
1879N/A#ifdef COMPILER2
1879N/A#include "opto/runtime.hpp"
1879N/A#endif
1879N/A#ifdef SHARK
1879N/A#include "compiler/compileBroker.hpp"
1879N/A#include "shark/sharkCompiler.hpp"
1879N/A#endif
1010N/A
1010N/A
4155N/A
4155N/Astatic address zero_null_code_stub() {
4155N/A address start = ShouldNotCallThisStub();
4155N/A return start;
4155N/A}
4155N/A
1010N/Aint SharedRuntime::java_calling_convention(const BasicType *sig_bt,
1010N/A VMRegPair *regs,
1010N/A int total_args_passed,
1010N/A int is_outgoing) {
1010N/A return 0;
1010N/A}
1010N/A
1010N/AAdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(
1010N/A MacroAssembler *masm,
1010N/A int total_args_passed,
1010N/A int comp_args_on_stack,
1010N/A const BasicType *sig_bt,
1197N/A const VMRegPair *regs,
1197N/A AdapterFingerPrint *fingerprint) {
1197N/A return AdapterHandlerLibrary::new_entry(
1197N/A fingerprint,
4155N/A CAST_FROM_FN_PTR(address,zero_null_code_stub),
4155N/A CAST_FROM_FN_PTR(address,zero_null_code_stub),
4155N/A CAST_FROM_FN_PTR(address,zero_null_code_stub));
1010N/A}
1010N/A
1010N/Anmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm,
1010N/A methodHandle method,
2294N/A int compile_id,
2294N/A BasicType *sig_bt,
2294N/A VMRegPair *regs,
1010N/A BasicType ret_type) {
1078N/A#ifdef SHARK
1078N/A return SharkCompiler::compiler()->generate_native_wrapper(masm,
1078N/A method,
2294N/A compile_id,
2294N/A sig_bt,
1078N/A ret_type);
1078N/A#else
1010N/A ShouldNotCallThis();
1078N/A#endif // SHARK
1010N/A}
1010N/A
1010N/Aint Deoptimization::last_frame_adjust(int callee_parameters,
1010N/A int callee_locals) {
1010N/A return 0;
1010N/A}
1010N/A
1010N/Auint SharedRuntime::out_preserve_stack_slots() {
1010N/A ShouldNotCallThis();
1010N/A}
1010N/A
4155N/AJRT_LEAF(void, zero_stub())
4155N/A ShouldNotCallThis();
4155N/AJRT_END
4155N/A
4155N/A
1010N/Astatic RuntimeStub* generate_empty_runtime_stub(const char* name) {
1010N/A CodeBuffer buffer(name, 0, 0);
1010N/A return RuntimeStub::new_runtime_stub(name, &buffer, 0, 0, NULL, false);
1010N/A}
1010N/A
1010N/Astatic SafepointBlob* generate_empty_safepoint_blob() {
4155N/A return CAST_FROM_FN_PTR(SafepointBlob*,zero_stub);
1010N/A}
1010N/A
2672N/Astatic DeoptimizationBlob* generate_empty_deopt_blob() {
4155N/A return CAST_FROM_FN_PTR(DeoptimizationBlob*,zero_stub);
2672N/A}
2672N/A
1010N/A
2672N/Avoid SharedRuntime::generate_deopt_blob() {
2672N/A _deopt_blob = generate_empty_deopt_blob();
2672N/A}
2672N/A
4155N/ASafepointBlob* SharedRuntime::generate_handler_blob(address call_ptr, int poll_type) {
2672N/A return generate_empty_safepoint_blob();
2672N/A}
2672N/A
2672N/ARuntimeStub* SharedRuntime::generate_resolve_blob(address destination, const char* name) {
2672N/A return generate_empty_runtime_stub("resolve_blob");
1010N/A}
1010N/A
4155N/A
1010N/Aint SharedRuntime::c_calling_convention(const BasicType *sig_bt,
1010N/A VMRegPair *regs,
1010N/A int total_args_passed) {
1010N/A ShouldNotCallThis();
1010N/A}