annotate src/cpu/zero/vm/sharedRuntime_zero.cpp @ 9790:6b515c453646

CompilationTask: print exception of compilation also when we don't exit the VM for example, this is useful for CTW, in order to see on which methods the compiler bails out
author Bernhard Urban <bernhard.urban@jku.at>
date Wed, 22 May 2013 16:28:12 +0200
parents a3e2f723f2a5
children e16282db4946
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
1 /*
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 3847
diff changeset
2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
2447
e863062e521d 7032458: Zero and Shark fixes
twisti
parents: 1972
diff changeset
3 * Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
5 *
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
6 * This code is free software; you can redistribute it and/or modify it
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
7 * under the terms of the GNU General Public License version 2 only, as
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
8 * published by the Free Software Foundation.
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
9 *
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
10 * This code is distributed in the hope that it will be useful, but WITHOUT
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
13 * version 2 for more details (a copy is included in the LICENSE file that
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
14 * accompanied this code).
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
15 *
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License version
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
17 * 2 along with this work; if not, write to the Free Software Foundation,
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
19 *
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1197
diff changeset
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1197
diff changeset
21 * or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1197
diff changeset
22 * questions.
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
23 *
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
24 */
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
25
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
26 #include "precompiled.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
27 #include "asm/assembler.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
28 #include "assembler_zero.inline.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
29 #include "code/debugInfoRec.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
30 #include "code/icBuffer.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
31 #include "code/vtableStubs.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
32 #include "interpreter/interpreter.hpp"
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 3847
diff changeset
33 #include "oops/compiledICHolder.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
34 #include "prims/jvmtiRedefineClassesTrace.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
35 #include "runtime/sharedRuntime.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
36 #include "runtime/vframeArray.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
37 #include "vmreg_zero.inline.hpp"
6926
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
38
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
39 #ifdef COMPILER1
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
40 #include "c1/c1_Runtime1.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
41 #endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
42 #ifdef COMPILER2
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
43 #include "opto/runtime.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
44 #endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
45 #ifdef SHARK
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
46 #include "compiler/compileBroker.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
47 #include "shark/sharkCompiler.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
48 #endif
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
49
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
50
6926
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
51
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
52 static address zero_null_code_stub() {
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
53 address start = ShouldNotCallThisStub();
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
54 return start;
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
55 }
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
56
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
57 int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
58 VMRegPair *regs,
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
59 int total_args_passed,
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
60 int is_outgoing) {
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
61 return 0;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
62 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
63
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
64 AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
65 MacroAssembler *masm,
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
66 int total_args_passed,
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
67 int comp_args_on_stack,
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
68 const BasicType *sig_bt,
1197
9e1637a04678 6920970: Zero build fixes after 6849984 and 6911204
twisti
parents: 1078
diff changeset
69 const VMRegPair *regs,
9e1637a04678 6920970: Zero build fixes after 6849984 and 6911204
twisti
parents: 1078
diff changeset
70 AdapterFingerPrint *fingerprint) {
9e1637a04678 6920970: Zero build fixes after 6849984 and 6911204
twisti
parents: 1078
diff changeset
71 return AdapterHandlerLibrary::new_entry(
9e1637a04678 6920970: Zero build fixes after 6849984 and 6911204
twisti
parents: 1078
diff changeset
72 fingerprint,
6926
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
73 CAST_FROM_FN_PTR(address,zero_null_code_stub),
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
74 CAST_FROM_FN_PTR(address,zero_null_code_stub),
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
75 CAST_FROM_FN_PTR(address,zero_null_code_stub));
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
76 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
77
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
78 nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm,
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
79 methodHandle method,
2447
e863062e521d 7032458: Zero and Shark fixes
twisti
parents: 1972
diff changeset
80 int compile_id,
e863062e521d 7032458: Zero and Shark fixes
twisti
parents: 1972
diff changeset
81 BasicType *sig_bt,
e863062e521d 7032458: Zero and Shark fixes
twisti
parents: 1972
diff changeset
82 VMRegPair *regs,
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
83 BasicType ret_type) {
1078
8e7adf982378 6896043: first round of zero fixes
twisti
parents: 1010
diff changeset
84 #ifdef SHARK
8e7adf982378 6896043: first round of zero fixes
twisti
parents: 1010
diff changeset
85 return SharkCompiler::compiler()->generate_native_wrapper(masm,
8e7adf982378 6896043: first round of zero fixes
twisti
parents: 1010
diff changeset
86 method,
2447
e863062e521d 7032458: Zero and Shark fixes
twisti
parents: 1972
diff changeset
87 compile_id,
e863062e521d 7032458: Zero and Shark fixes
twisti
parents: 1972
diff changeset
88 sig_bt,
1078
8e7adf982378 6896043: first round of zero fixes
twisti
parents: 1010
diff changeset
89 ret_type);
8e7adf982378 6896043: first round of zero fixes
twisti
parents: 1010
diff changeset
90 #else
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
91 ShouldNotCallThis();
1078
8e7adf982378 6896043: first round of zero fixes
twisti
parents: 1010
diff changeset
92 #endif // SHARK
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
93 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
94
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
95 int Deoptimization::last_frame_adjust(int callee_parameters,
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
96 int callee_locals) {
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
97 return 0;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
98 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
99
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
100 uint SharedRuntime::out_preserve_stack_slots() {
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
101 ShouldNotCallThis();
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
102 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
103
6926
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
104 JRT_LEAF(void, zero_stub())
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
105 ShouldNotCallThis();
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
106 JRT_END
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
107
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
108 static RuntimeStub* generate_empty_runtime_stub(const char* name) {
6926
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
109 return CAST_FROM_FN_PTR(RuntimeStub*,zero_stub);
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
110 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
111
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
112 static SafepointBlob* generate_empty_safepoint_blob() {
6926
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
113 return CAST_FROM_FN_PTR(SafepointBlob*,zero_stub);
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
114 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
115
3847
a3142bdb6707 7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents: 2447
diff changeset
116 static DeoptimizationBlob* generate_empty_deopt_blob() {
6926
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
117 return CAST_FROM_FN_PTR(DeoptimizationBlob*,zero_stub);
3847
a3142bdb6707 7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents: 2447
diff changeset
118 }
a3142bdb6707 7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents: 2447
diff changeset
119
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
120
3847
a3142bdb6707 7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents: 2447
diff changeset
121 void SharedRuntime::generate_deopt_blob() {
a3142bdb6707 7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents: 2447
diff changeset
122 _deopt_blob = generate_empty_deopt_blob();
a3142bdb6707 7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents: 2447
diff changeset
123 }
a3142bdb6707 7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents: 2447
diff changeset
124
6926
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
125 SafepointBlob* SharedRuntime::generate_handler_blob(address call_ptr, int poll_type) {
3847
a3142bdb6707 7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents: 2447
diff changeset
126 return generate_empty_safepoint_blob();
a3142bdb6707 7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents: 2447
diff changeset
127 }
a3142bdb6707 7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents: 2447
diff changeset
128
a3142bdb6707 7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents: 2447
diff changeset
129 RuntimeStub* SharedRuntime::generate_resolve_blob(address destination, const char* name) {
a3142bdb6707 7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents: 2447
diff changeset
130 return generate_empty_runtime_stub("resolve_blob");
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
131 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
132
6926
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6725
diff changeset
133
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
134 int SharedRuntime::c_calling_convention(const BasicType *sig_bt,
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
135 VMRegPair *regs,
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
136 int total_args_passed) {
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
137 ShouldNotCallThis();
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
138 }