8259706: C2 compilation fails with assert(vtable_index == Method::invalid_vtable_index) failed: correct sentinel value
Reviewed-by: lucy, chagedorn
This commit is contained in:
parent
ae9187d757
commit
8b8b1f9a37
@ -3328,8 +3328,13 @@ bool LibraryCallKit::inline_unsafe_newArray(bool uninitialized) {
|
||||
// ensuing call will throw an exception, or else it
|
||||
// will cache the array klass for next time.
|
||||
PreserveJVMState pjvms(this);
|
||||
CallJavaNode* slow_call = uninitialized ? generate_method_call_virtual(vmIntrinsics::_allocateUninitializedArray) :
|
||||
generate_method_call_static(vmIntrinsics::_newArray);
|
||||
CallJavaNode* slow_call = NULL;
|
||||
if (uninitialized) {
|
||||
// Generate optimized virtual call (holder class 'Unsafe' is final)
|
||||
slow_call = generate_method_call(vmIntrinsics::_allocateUninitializedArray, false, false);
|
||||
} else {
|
||||
slow_call = generate_method_call_static(vmIntrinsics::_newArray);
|
||||
}
|
||||
Node* slow_result = set_results_for_java_call(slow_call);
|
||||
// this->control() comes from set_results_for_java_call
|
||||
result_reg->set_req(_slow_path, control());
|
||||
|
Loading…
x
Reference in New Issue
Block a user