Mercurial > hg > graal-compiler
annotate src/cpu/zero/vm/sharedRuntime_zero.cpp @ 12109:faf2631b9334
8022683: JNI GetStringUTFChars should return NULL on allocation failure not abort the VM
Summary: Return NULL on OOM from GetStringChars, GetStringUTFChars and Get<PrimitiveType>ArrayElements family of functions.
Reviewed-by: dholmes, coleenp
author | dsimms |
---|---|
date | Mon, 26 Aug 2013 09:33:01 +0200 |
parents | e16282db4946 |
children | de6a9e811145 6a936747b569 |
rev | line source |
---|---|
1010 | 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 | 3 * Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc. |
1010 | 4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
5 * | |
6 * This code is free software; you can redistribute it and/or modify it | |
7 * under the terms of the GNU General Public License version 2 only, as | |
8 * published by the Free Software Foundation. | |
9 * | |
10 * This code is distributed in the hope that it will be useful, but WITHOUT | |
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
13 * version 2 for more details (a copy is included in the LICENSE file that | |
14 * accompanied this code). | |
15 * | |
16 * You should have received a copy of the GNU General Public License version | |
17 * 2 along with this work; if not, write to the Free Software Foundation, | |
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
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 | 23 * |
24 */ | |
25 | |
1972 | 26 #include "precompiled.hpp" |
27 #include "asm/assembler.hpp" | |
28 #include "assembler_zero.inline.hpp" | |
29 #include "code/debugInfoRec.hpp" | |
30 #include "code/icBuffer.hpp" | |
31 #include "code/vtableStubs.hpp" | |
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 | 34 #include "prims/jvmtiRedefineClassesTrace.hpp" |
35 #include "runtime/sharedRuntime.hpp" | |
36 #include "runtime/vframeArray.hpp" | |
37 #include "vmreg_zero.inline.hpp" | |
6926 | 38 |
1972 | 39 #ifdef COMPILER1 |
40 #include "c1/c1_Runtime1.hpp" | |
41 #endif | |
42 #ifdef COMPILER2 | |
43 #include "opto/runtime.hpp" | |
44 #endif | |
45 #ifdef SHARK | |
46 #include "compiler/compileBroker.hpp" | |
47 #include "shark/sharkCompiler.hpp" | |
48 #endif | |
1010 | 49 |
50 | |
6926 | 51 |
52 static address zero_null_code_stub() { | |
53 address start = ShouldNotCallThisStub(); | |
54 return start; | |
55 } | |
56 | |
1010 | 57 int SharedRuntime::java_calling_convention(const BasicType *sig_bt, |
58 VMRegPair *regs, | |
59 int total_args_passed, | |
60 int is_outgoing) { | |
61 return 0; | |
62 } | |
63 | |
64 AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters( | |
65 MacroAssembler *masm, | |
66 int total_args_passed, | |
67 int comp_args_on_stack, | |
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 | 73 CAST_FROM_FN_PTR(address,zero_null_code_stub), |
74 CAST_FROM_FN_PTR(address,zero_null_code_stub), | |
75 CAST_FROM_FN_PTR(address,zero_null_code_stub)); | |
1010 | 76 } |
77 | |
78 nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm, | |
79 methodHandle method, | |
2447 | 80 int compile_id, |
81 BasicType *sig_bt, | |
82 VMRegPair *regs, | |
1010 | 83 BasicType ret_type) { |
1078 | 84 #ifdef SHARK |
85 return SharkCompiler::compiler()->generate_native_wrapper(masm, | |
86 method, | |
2447 | 87 compile_id, |
88 sig_bt, | |
1078 | 89 ret_type); |
90 #else | |
1010 | 91 ShouldNotCallThis(); |
12077 | 92 return NULL; |
1078 | 93 #endif // SHARK |
1010 | 94 } |
95 | |
96 int Deoptimization::last_frame_adjust(int callee_parameters, | |
97 int callee_locals) { | |
98 return 0; | |
99 } | |
100 | |
101 uint SharedRuntime::out_preserve_stack_slots() { | |
102 ShouldNotCallThis(); | |
12077 | 103 return 0; |
1010 | 104 } |
105 | |
6926 | 106 JRT_LEAF(void, zero_stub()) |
107 ShouldNotCallThis(); | |
108 JRT_END | |
109 | |
1010 | 110 static RuntimeStub* generate_empty_runtime_stub(const char* name) { |
6926 | 111 return CAST_FROM_FN_PTR(RuntimeStub*,zero_stub); |
1010 | 112 } |
113 | |
114 static SafepointBlob* generate_empty_safepoint_blob() { | |
6926 | 115 return CAST_FROM_FN_PTR(SafepointBlob*,zero_stub); |
1010 | 116 } |
117 | |
3847
a3142bdb6707
7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents:
2447
diff
changeset
|
118 static DeoptimizationBlob* generate_empty_deopt_blob() { |
6926 | 119 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
|
120 } |
a3142bdb6707
7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents:
2447
diff
changeset
|
121 |
1010 | 122 |
3847
a3142bdb6707
7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents:
2447
diff
changeset
|
123 void SharedRuntime::generate_deopt_blob() { |
a3142bdb6707
7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents:
2447
diff
changeset
|
124 _deopt_blob = generate_empty_deopt_blob(); |
a3142bdb6707
7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents:
2447
diff
changeset
|
125 } |
a3142bdb6707
7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents:
2447
diff
changeset
|
126 |
6926 | 127 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
|
128 return generate_empty_safepoint_blob(); |
a3142bdb6707
7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents:
2447
diff
changeset
|
129 } |
a3142bdb6707
7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents:
2447
diff
changeset
|
130 |
a3142bdb6707
7071823: Zero: zero/shark doesn't build after b147-fcs
twisti
parents:
2447
diff
changeset
|
131 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
|
132 return generate_empty_runtime_stub("resolve_blob"); |
1010 | 133 } |
134 | |
6926 | 135 |
1010 | 136 int SharedRuntime::c_calling_convention(const BasicType *sig_bt, |
137 VMRegPair *regs, | |
138 int total_args_passed) { | |
139 ShouldNotCallThis(); | |
12077 | 140 return 0; |
1010 | 141 } |