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();