src/cpu/zero/vm/sharedRuntime_zero.cpp

Tue, 23 Nov 2010 13:22:55 -0800

author
stefank
date
Tue, 23 Nov 2010 13:22:55 -0800
changeset 2314
f95d63e2154a
parent 1907
c18cbe5936b8
child 2729
e863062e521d
permissions
-rw-r--r--

6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg

never@1445 1 /*
stefank@2314 2 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
twisti@1632 3 * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
never@1445 4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
never@1445 5 *
never@1445 6 * This code is free software; you can redistribute it and/or modify it
never@1445 7 * under the terms of the GNU General Public License version 2 only, as
never@1445 8 * published by the Free Software Foundation.
never@1445 9 *
never@1445 10 * This code is distributed in the hope that it will be useful, but WITHOUT
never@1445 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
never@1445 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
never@1445 13 * version 2 for more details (a copy is included in the LICENSE file that
never@1445 14 * accompanied this code).
never@1445 15 *
never@1445 16 * You should have received a copy of the GNU General Public License version
never@1445 17 * 2 along with this work; if not, write to the Free Software Foundation,
never@1445 18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
never@1445 19 *
trims@1907 20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
trims@1907 21 * or visit www.oracle.com if you need additional information or have any
trims@1907 22 * questions.
never@1445 23 *
never@1445 24 */
never@1445 25
stefank@2314 26 #include "precompiled.hpp"
stefank@2314 27 #include "asm/assembler.hpp"
stefank@2314 28 #include "assembler_zero.inline.hpp"
stefank@2314 29 #include "code/debugInfoRec.hpp"
stefank@2314 30 #include "code/icBuffer.hpp"
stefank@2314 31 #include "code/vtableStubs.hpp"
stefank@2314 32 #include "interpreter/interpreter.hpp"
stefank@2314 33 #include "oops/compiledICHolderOop.hpp"
stefank@2314 34 #include "prims/jvmtiRedefineClassesTrace.hpp"
stefank@2314 35 #include "runtime/sharedRuntime.hpp"
stefank@2314 36 #include "runtime/vframeArray.hpp"
stefank@2314 37 #include "vmreg_zero.inline.hpp"
stefank@2314 38 #ifdef COMPILER1
stefank@2314 39 #include "c1/c1_Runtime1.hpp"
stefank@2314 40 #endif
stefank@2314 41 #ifdef COMPILER2
stefank@2314 42 #include "opto/runtime.hpp"
stefank@2314 43 #endif
stefank@2314 44 #ifdef SHARK
stefank@2314 45 #include "compiler/compileBroker.hpp"
stefank@2314 46 #include "shark/sharkCompiler.hpp"
stefank@2314 47 #endif
never@1445 48
never@1445 49 DeoptimizationBlob *SharedRuntime::_deopt_blob;
never@1445 50 SafepointBlob *SharedRuntime::_polling_page_safepoint_handler_blob;
never@1445 51 SafepointBlob *SharedRuntime::_polling_page_return_handler_blob;
never@1445 52 RuntimeStub *SharedRuntime::_wrong_method_blob;
never@1445 53 RuntimeStub *SharedRuntime::_ic_miss_blob;
never@1445 54 RuntimeStub *SharedRuntime::_resolve_opt_virtual_call_blob;
never@1445 55 RuntimeStub *SharedRuntime::_resolve_virtual_call_blob;
never@1445 56 RuntimeStub *SharedRuntime::_resolve_static_call_blob;
never@1445 57
never@1445 58 int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
never@1445 59 VMRegPair *regs,
never@1445 60 int total_args_passed,
never@1445 61 int is_outgoing) {
never@1445 62 return 0;
never@1445 63 }
never@1445 64
never@1445 65 AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(
never@1445 66 MacroAssembler *masm,
never@1445 67 int total_args_passed,
never@1445 68 int comp_args_on_stack,
never@1445 69 const BasicType *sig_bt,
twisti@1632 70 const VMRegPair *regs,
twisti@1632 71 AdapterFingerPrint *fingerprint) {
twisti@1632 72 return AdapterHandlerLibrary::new_entry(
twisti@1632 73 fingerprint,
never@1445 74 ShouldNotCallThisStub(),
never@1445 75 ShouldNotCallThisStub(),
never@1445 76 ShouldNotCallThisStub());
never@1445 77 }
never@1445 78
never@1445 79 nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm,
never@1445 80 methodHandle method,
never@1445 81 int total_in_args,
never@1445 82 int comp_args_on_stack,
never@1445 83 BasicType *in_sig_bt,
never@1445 84 VMRegPair *in_regs,
never@1445 85 BasicType ret_type) {
twisti@1513 86 #ifdef SHARK
twisti@1513 87 return SharkCompiler::compiler()->generate_native_wrapper(masm,
twisti@1513 88 method,
twisti@1513 89 in_sig_bt,
twisti@1513 90 ret_type);
twisti@1513 91 #else
never@1445 92 ShouldNotCallThis();
twisti@1513 93 #endif // SHARK
never@1445 94 }
never@1445 95
never@1445 96 int Deoptimization::last_frame_adjust(int callee_parameters,
never@1445 97 int callee_locals) {
never@1445 98 return 0;
never@1445 99 }
never@1445 100
never@1445 101 uint SharedRuntime::out_preserve_stack_slots() {
never@1445 102 ShouldNotCallThis();
never@1445 103 }
never@1445 104
never@1445 105 static RuntimeStub* generate_empty_runtime_stub(const char* name) {
never@1445 106 CodeBuffer buffer(name, 0, 0);
never@1445 107 return RuntimeStub::new_runtime_stub(name, &buffer, 0, 0, NULL, false);
never@1445 108 }
never@1445 109
never@1445 110 static SafepointBlob* generate_empty_safepoint_blob() {
never@1445 111 CodeBuffer buffer("handler_blob", 0, 0);
never@1445 112 return SafepointBlob::create(&buffer, NULL, 0);
never@1445 113 }
never@1445 114
never@1445 115 void SharedRuntime::generate_stubs() {
never@1445 116 _wrong_method_blob =
never@1445 117 generate_empty_runtime_stub("wrong_method_stub");
never@1445 118 _ic_miss_blob =
never@1445 119 generate_empty_runtime_stub("ic_miss_stub");
never@1445 120 _resolve_opt_virtual_call_blob =
never@1445 121 generate_empty_runtime_stub("resolve_opt_virtual_call");
never@1445 122 _resolve_virtual_call_blob =
never@1445 123 generate_empty_runtime_stub("resolve_virtual_call");
never@1445 124 _resolve_static_call_blob =
never@1445 125 generate_empty_runtime_stub("resolve_static_call");
never@1445 126
never@1445 127 _polling_page_safepoint_handler_blob =
never@1445 128 generate_empty_safepoint_blob();
never@1445 129 _polling_page_return_handler_blob =
never@1445 130 generate_empty_safepoint_blob();
never@1445 131 }
never@1445 132
never@1445 133 int SharedRuntime::c_calling_convention(const BasicType *sig_bt,
never@1445 134 VMRegPair *regs,
never@1445 135 int total_args_passed) {
never@1445 136 ShouldNotCallThis();
never@1445 137 }

mercurial