Mercurial > hg > truffle
comparison src/share/vm/c1/c1_Runtime1.hpp @ 2446:13bc79b5c9c8
7033154: Improve C1 arraycopy performance
Summary: better static analysis. Take advantage of array copy stubs.
Reviewed-by: never
author | roland |
---|---|
date | Sun, 03 Apr 2011 12:00:54 +0200 |
parents | 1b4e6a5d98e0 |
children | 0654ee04b214 c124e2e7463e |
comparison
equal
deleted
inserted
replaced
2445:08eb13460b3a | 2446:13bc79b5c9c8 |
---|---|
92 static int _handle_wrong_method_cnt; | 92 static int _handle_wrong_method_cnt; |
93 static int _ic_miss_cnt; | 93 static int _ic_miss_cnt; |
94 static int _generic_arraycopy_cnt; | 94 static int _generic_arraycopy_cnt; |
95 static int _primitive_arraycopy_cnt; | 95 static int _primitive_arraycopy_cnt; |
96 static int _oop_arraycopy_cnt; | 96 static int _oop_arraycopy_cnt; |
97 static int _generic_arraycopystub_cnt; | |
97 static int _arraycopy_slowcase_cnt; | 98 static int _arraycopy_slowcase_cnt; |
99 static int _arraycopy_checkcast_cnt; | |
100 static int _arraycopy_checkcast_attempt_cnt; | |
98 static int _new_type_array_slowcase_cnt; | 101 static int _new_type_array_slowcase_cnt; |
99 static int _new_object_array_slowcase_cnt; | 102 static int _new_object_array_slowcase_cnt; |
100 static int _new_instance_slowcase_cnt; | 103 static int _new_instance_slowcase_cnt; |
101 static int _new_multi_array_slowcase_cnt; | 104 static int _new_multi_array_slowcase_cnt; |
102 static int _monitorenter_slowcase_cnt; | 105 static int _monitorenter_slowcase_cnt; |
172 | 175 |
173 // method tracing | 176 // method tracing |
174 static void trace_block_entry(jint block_id); | 177 static void trace_block_entry(jint block_id); |
175 | 178 |
176 #ifndef PRODUCT | 179 #ifndef PRODUCT |
177 static address throw_count_address() { return (address)&_throw_count; } | 180 static address throw_count_address() { return (address)&_throw_count; } |
181 static address arraycopy_count_address(BasicType type); | |
178 #endif | 182 #endif |
179 | 183 |
180 // directly accessible leaf routine | 184 // directly accessible leaf routine |
181 static int arraycopy(oopDesc* src, int src_pos, oopDesc* dst, int dst_pos, int length); | 185 static int arraycopy(oopDesc* src, int src_pos, oopDesc* dst, int dst_pos, int length); |
182 static void primitive_arraycopy(HeapWord* src, HeapWord* dst, int length); | 186 static void primitive_arraycopy(HeapWord* src, HeapWord* dst, int length); |