Mercurial > hg > truffle
comparison src/share/vm/opto/runtime.hpp @ 3805:263247c478c5
7058510: multinewarray with 6 dimensions uncommon traps in server compiler
Summary: Pass arguments to runtime via java array for arrays with > 5 dimensions
Reviewed-by: never, kvn, jrose, pbk
author | iveresov |
---|---|
date | Fri, 08 Jul 2011 15:33:03 -0700 |
parents | f95d63e2154a |
children | a92cdbac8b9e |
comparison
equal
deleted
inserted
replaced
3804:faa472957b38 | 3805:263247c478c5 |
---|---|
116 static address _new_array_Java; | 116 static address _new_array_Java; |
117 static address _multianewarray2_Java; | 117 static address _multianewarray2_Java; |
118 static address _multianewarray3_Java; | 118 static address _multianewarray3_Java; |
119 static address _multianewarray4_Java; | 119 static address _multianewarray4_Java; |
120 static address _multianewarray5_Java; | 120 static address _multianewarray5_Java; |
121 static address _multianewarrayN_Java; | |
121 static address _g1_wb_pre_Java; | 122 static address _g1_wb_pre_Java; |
122 static address _g1_wb_post_Java; | 123 static address _g1_wb_post_Java; |
123 static address _vtable_must_compile_Java; | 124 static address _vtable_must_compile_Java; |
124 static address _complete_monitor_locking_Java; | 125 static address _complete_monitor_locking_Java; |
125 static address _rethrow_Java; | 126 static address _rethrow_Java; |
151 // Note: needs to be fixed for arbitrary number of dimensions | 152 // Note: needs to be fixed for arbitrary number of dimensions |
152 static void multianewarray2_C(klassOopDesc* klass, int len1, int len2, JavaThread *thread); | 153 static void multianewarray2_C(klassOopDesc* klass, int len1, int len2, JavaThread *thread); |
153 static void multianewarray3_C(klassOopDesc* klass, int len1, int len2, int len3, JavaThread *thread); | 154 static void multianewarray3_C(klassOopDesc* klass, int len1, int len2, int len3, JavaThread *thread); |
154 static void multianewarray4_C(klassOopDesc* klass, int len1, int len2, int len3, int len4, JavaThread *thread); | 155 static void multianewarray4_C(klassOopDesc* klass, int len1, int len2, int len3, int len4, JavaThread *thread); |
155 static void multianewarray5_C(klassOopDesc* klass, int len1, int len2, int len3, int len4, int len5, JavaThread *thread); | 156 static void multianewarray5_C(klassOopDesc* klass, int len1, int len2, int len3, int len4, int len5, JavaThread *thread); |
157 static void multianewarrayN_C(klassOopDesc* klass, arrayOopDesc* dims, JavaThread *thread); | |
156 static void g1_wb_pre_C(oopDesc* orig, JavaThread* thread); | 158 static void g1_wb_pre_C(oopDesc* orig, JavaThread* thread); |
157 static void g1_wb_post_C(void* card_addr, JavaThread* thread); | 159 static void g1_wb_post_C(void* card_addr, JavaThread* thread); |
158 | 160 |
159 public: | 161 public: |
160 // Slow-path Locking and Unlocking | 162 // Slow-path Locking and Unlocking |
208 static address new_array_Java() { return _new_array_Java; } | 210 static address new_array_Java() { return _new_array_Java; } |
209 static address multianewarray2_Java() { return _multianewarray2_Java; } | 211 static address multianewarray2_Java() { return _multianewarray2_Java; } |
210 static address multianewarray3_Java() { return _multianewarray3_Java; } | 212 static address multianewarray3_Java() { return _multianewarray3_Java; } |
211 static address multianewarray4_Java() { return _multianewarray4_Java; } | 213 static address multianewarray4_Java() { return _multianewarray4_Java; } |
212 static address multianewarray5_Java() { return _multianewarray5_Java; } | 214 static address multianewarray5_Java() { return _multianewarray5_Java; } |
215 static address multianewarrayN_Java() { return _multianewarrayN_Java; } | |
213 static address g1_wb_pre_Java() { return _g1_wb_pre_Java; } | 216 static address g1_wb_pre_Java() { return _g1_wb_pre_Java; } |
214 static address g1_wb_post_Java() { return _g1_wb_post_Java; } | 217 static address g1_wb_post_Java() { return _g1_wb_post_Java; } |
215 static address vtable_must_compile_stub() { return _vtable_must_compile_Java; } | 218 static address vtable_must_compile_stub() { return _vtable_must_compile_Java; } |
216 static address complete_monitor_locking_Java() { return _complete_monitor_locking_Java; } | 219 static address complete_monitor_locking_Java() { return _complete_monitor_locking_Java; } |
217 | 220 |
247 static const TypeFunc* multianewarray_Type(int ndim); // multianewarray | 250 static const TypeFunc* multianewarray_Type(int ndim); // multianewarray |
248 static const TypeFunc* multianewarray2_Type(); // multianewarray | 251 static const TypeFunc* multianewarray2_Type(); // multianewarray |
249 static const TypeFunc* multianewarray3_Type(); // multianewarray | 252 static const TypeFunc* multianewarray3_Type(); // multianewarray |
250 static const TypeFunc* multianewarray4_Type(); // multianewarray | 253 static const TypeFunc* multianewarray4_Type(); // multianewarray |
251 static const TypeFunc* multianewarray5_Type(); // multianewarray | 254 static const TypeFunc* multianewarray5_Type(); // multianewarray |
255 static const TypeFunc* multianewarrayN_Type(); // multianewarray | |
252 static const TypeFunc* g1_wb_pre_Type(); | 256 static const TypeFunc* g1_wb_pre_Type(); |
253 static const TypeFunc* g1_wb_post_Type(); | 257 static const TypeFunc* g1_wb_post_Type(); |
254 static const TypeFunc* complete_monitor_enter_Type(); | 258 static const TypeFunc* complete_monitor_enter_Type(); |
255 static const TypeFunc* complete_monitor_exit_Type(); | 259 static const TypeFunc* complete_monitor_exit_Type(); |
256 static const TypeFunc* uncommon_trap_Type(); | 260 static const TypeFunc* uncommon_trap_Type(); |