File tree 1 file changed +7
-2
lines changed
1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -3328,8 +3328,13 @@ bool LibraryCallKit::inline_unsafe_newArray(bool uninitialized) {
3328
3328
// ensuing call will throw an exception, or else it
3329
3329
// will cache the array klass for next time.
3330
3330
PreserveJVMState pjvms (this );
3331
- CallJavaNode* slow_call = uninitialized ? generate_method_call_virtual (vmIntrinsics::_allocateUninitializedArray) :
3332
- generate_method_call_static (vmIntrinsics::_newArray);
3331
+ CallJavaNode* slow_call = NULL ;
3332
+ if (uninitialized) {
3333
+ // Generate optimized virtual call (holder class 'Unsafe' is final)
3334
+ slow_call = generate_method_call (vmIntrinsics::_allocateUninitializedArray, false , false );
3335
+ } else {
3336
+ slow_call = generate_method_call_static (vmIntrinsics::_newArray);
3337
+ }
3333
3338
Node* slow_result = set_results_for_java_call (slow_call);
3334
3339
// this->control() comes from set_results_for_java_call
3335
3340
result_reg->set_req (_slow_path, control ());
You can’t perform that action at this time.
0 commit comments