comparison src/share/vm/c1/c1_Runtime1.hpp @ 6948:e522a00b91aa

Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/ after NPG - C++ build works
author Doug Simon <doug.simon@oracle.com>
date Mon, 12 Nov 2012 23:14:12 +0100
parents fd71ca8c5f88 da91efe96a93
children ce248dc0a656
comparison
equal deleted inserted replaced
6711:ae13cc658b80 6948:e522a00b91aa
1 /* 1 /*
2 * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 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 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
64 stub(monitorexit) \ 64 stub(monitorexit) \
65 stub(monitorexit_nofpu) /* optimized version that does not preserve fpu registers */ \ 65 stub(monitorexit_nofpu) /* optimized version that does not preserve fpu registers */ \
66 stub(deoptimize) \ 66 stub(deoptimize) \
67 stub(access_field_patching) \ 67 stub(access_field_patching) \
68 stub(load_klass_patching) \ 68 stub(load_klass_patching) \
69 stub(load_mirror_patching) \
69 stub(g1_pre_barrier_slow) \ 70 stub(g1_pre_barrier_slow) \
70 stub(g1_post_barrier_slow) \ 71 stub(g1_post_barrier_slow) \
71 stub(fpu2long_stub) \ 72 stub(fpu2long_stub) \
72 stub(counter_overflow) \ 73 stub(counter_overflow) \
73 stub(graal_unwind_exception_call) \ 74 stub(graal_unwind_exception_call) \
113 stub(monitorexit) \ 114 stub(monitorexit) \
114 stub(monitorexit_nofpu) /* optimized version that does not preserve fpu registers */ \ 115 stub(monitorexit_nofpu) /* optimized version that does not preserve fpu registers */ \
115 stub(deoptimize) \ 116 stub(deoptimize) \
116 stub(access_field_patching) \ 117 stub(access_field_patching) \
117 stub(load_klass_patching) \ 118 stub(load_klass_patching) \
119 stub(load_mirror_patching) \
118 stub(g1_pre_barrier_slow) \ 120 stub(g1_pre_barrier_slow) \
119 stub(g1_post_barrier_slow) \ 121 stub(g1_post_barrier_slow) \
120 stub(fpu2long_stub) \ 122 stub(fpu2long_stub) \
121 stub(counter_overflow) \ 123 stub(counter_overflow) \
122 last_entry(number_of_ids) 124 last_entry(number_of_ids)
179 181
180 static OopMapSet* generate_stub_call(StubAssembler* sasm, Register result, address entry, 182 static OopMapSet* generate_stub_call(StubAssembler* sasm, Register result, address entry,
181 Register arg1 = noreg, Register arg2 = noreg, Register arg3 = noreg); 183 Register arg1 = noreg, Register arg2 = noreg, Register arg3 = noreg);
182 184
183 // runtime entry points 185 // runtime entry points
184 static void new_instance (JavaThread* thread, klassOopDesc* klass); 186 static void new_instance (JavaThread* thread, Klass* klass);
185 static void new_type_array (JavaThread* thread, klassOopDesc* klass, jint length); 187 static void new_type_array (JavaThread* thread, Klass* klass, jint length);
186 static void new_object_array(JavaThread* thread, klassOopDesc* klass, jint length); 188 static void new_object_array(JavaThread* thread, Klass* klass, jint length);
187 static void new_multi_array (JavaThread* thread, klassOopDesc* klass, int rank, jint* dims); 189 static void new_multi_array (JavaThread* thread, Klass* klass, int rank, jint* dims);
188 190
189 static address counter_overflow(JavaThread* thread, int bci, methodOopDesc* method); 191 static address counter_overflow(JavaThread* thread, int bci, Method* method);
190 192
191 static void unimplemented_entry (JavaThread* thread, StubID id); 193 static void unimplemented_entry (JavaThread* thread, StubID id);
192 194
193 static address exception_handler_for_pc(JavaThread* thread); 195 static address exception_handler_for_pc(JavaThread* thread);
194 196
215 LOG_OBJECT_NEWLINE = 0x01, 217 LOG_OBJECT_NEWLINE = 0x01,
216 LOG_OBJECT_STRING = 0x02, 218 LOG_OBJECT_STRING = 0x02,
217 LOG_OBJECT_ADDRESS = 0x04 219 LOG_OBJECT_ADDRESS = 0x04
218 }; 220 };
219 static void graal_log_object(JavaThread* thread, oop msg, jint flags); 221 static void graal_log_object(JavaThread* thread, oop msg, jint flags);
220 #endif 222 #endif // GRAAL
221 223
222 static void deoptimize(JavaThread* thread); 224 static void deoptimize(JavaThread* thread);
223 225
224 static int access_field_patching(JavaThread* thread); 226 static int access_field_patching(JavaThread* thread);
225 static int move_klass_patching(JavaThread* thread); 227 static int move_klass_patching(JavaThread* thread);
228 static int move_mirror_patching(JavaThread* thread);
226 229
227 static void patch_code(JavaThread* thread, StubID stub_id); 230 static void patch_code(JavaThread* thread, StubID stub_id);
228 231
229 public: 232 public:
230 // initialization 233 // initialization