comparison src/share/vm/c1/c1_Runtime1.hpp @ 8860:46f6f063b272

7153771: array bound check elimination for c1 Summary: when possible optimize out array bound checks, inserting predicates when needed. Reviewed-by: never, kvn, twisti Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>
author roland
date Thu, 21 Mar 2013 09:27:54 +0100
parents da91efe96a93
children b9a918201d47 f98f5d48f511
comparison
equal deleted inserted replaced
8780:98f3af397705 8860:46f6f063b272
69 stub(load_mirror_patching) \ 69 stub(load_mirror_patching) \
70 stub(g1_pre_barrier_slow) \ 70 stub(g1_pre_barrier_slow) \
71 stub(g1_post_barrier_slow) \ 71 stub(g1_post_barrier_slow) \
72 stub(fpu2long_stub) \ 72 stub(fpu2long_stub) \
73 stub(counter_overflow) \ 73 stub(counter_overflow) \
74 stub(predicate_failed_trap) \
74 last_entry(number_of_ids) 75 last_entry(number_of_ids)
75 76
76 #define DECLARE_STUB_ID(x) x ## _id , 77 #define DECLARE_STUB_ID(x) x ## _id ,
77 #define DECLARE_LAST_STUB_ID(x) x 78 #define DECLARE_LAST_STUB_ID(x) x
78 #define STUB_NAME(x) #x " Runtime1 stub", 79 #define STUB_NAME(x) #x " Runtime1 stub",
188 static int arraycopy(oopDesc* src, int src_pos, oopDesc* dst, int dst_pos, int length); 189 static int arraycopy(oopDesc* src, int src_pos, oopDesc* dst, int dst_pos, int length);
189 static void primitive_arraycopy(HeapWord* src, HeapWord* dst, int length); 190 static void primitive_arraycopy(HeapWord* src, HeapWord* dst, int length);
190 static void oop_arraycopy(HeapWord* src, HeapWord* dst, int length); 191 static void oop_arraycopy(HeapWord* src, HeapWord* dst, int length);
191 static int is_instance_of(oopDesc* mirror, oopDesc* obj); 192 static int is_instance_of(oopDesc* mirror, oopDesc* obj);
192 193
194 static void predicate_failed_trap(JavaThread* thread);
195
193 static void print_statistics() PRODUCT_RETURN; 196 static void print_statistics() PRODUCT_RETURN;
194 }; 197 };
195 198
196 #endif // SHARE_VM_C1_C1_RUNTIME1_HPP 199 #endif // SHARE_VM_C1_C1_RUNTIME1_HPP