@@ -1361,10 +1361,13 @@ bool LibraryCallKit::inline_string_copy(bool compress) {
1361
1361
AllocateArrayNode* alloc = tightly_coupled_allocation (dst);
1362
1362
1363
1363
// Figure out the size and type of the elements we will be copying.
1364
- const Type* src_type = src->Value (&_gvn);
1365
- const Type* dst_type = dst->Value (&_gvn);
1366
- BasicType src_elem = src_type->isa_aryptr ()->elem ()->array_element_basic_type ();
1367
- BasicType dst_elem = dst_type->isa_aryptr ()->elem ()->array_element_basic_type ();
1364
+ const TypeAryPtr* src_type = src->Value (&_gvn)->isa_aryptr ();
1365
+ const TypeAryPtr* dst_type = dst->Value (&_gvn)->isa_aryptr ();
1366
+ if (src_type == nullptr || dst_type == nullptr ) {
1367
+ return false ;
1368
+ }
1369
+ BasicType src_elem = src_type->elem ()->array_element_basic_type ();
1370
+ BasicType dst_elem = dst_type->elem ()->array_element_basic_type ();
1368
1371
assert ((compress && dst_elem == T_BYTE && (src_elem == T_BYTE || src_elem == T_CHAR)) ||
1369
1372
(!compress && src_elem == T_BYTE && (dst_elem == T_BYTE || dst_elem == T_CHAR)),
1370
1373
" Unsupported array types for inline_string_copy" );
@@ -5444,19 +5447,17 @@ bool LibraryCallKit::inline_encodeISOArray(bool ascii) {
5444
5447
src = must_be_not_null (src, true );
5445
5448
dst = must_be_not_null (dst, true );
5446
5449
5447
- const Type* src_type = src->Value (&_gvn);
5448
- const Type* dst_type = dst->Value (&_gvn);
5449
- const TypeAryPtr* top_src = src_type->isa_aryptr ();
5450
- const TypeAryPtr* top_dest = dst_type->isa_aryptr ();
5451
- if (top_src == NULL || top_src->elem () == Type::BOTTOM ||
5452
- top_dest == NULL || top_dest->elem () == Type::BOTTOM) {
5450
+ const TypeAryPtr* src_type = src->Value (&_gvn)->isa_aryptr ();
5451
+ const TypeAryPtr* dst_type = dst->Value (&_gvn)->isa_aryptr ();
5452
+ if (src_type == nullptr || src_type->elem () == Type::BOTTOM ||
5453
+ dst_type == nullptr || dst_type->elem () == Type::BOTTOM) {
5453
5454
// failed array check
5454
5455
return false ;
5455
5456
}
5456
5457
5457
5458
// Figure out the size and type of the elements we will be copying.
5458
- BasicType src_elem = src_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5459
- BasicType dst_elem = dst_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5459
+ BasicType src_elem = src_type->elem ()->array_element_basic_type ();
5460
+ BasicType dst_elem = dst_type->elem ()->array_element_basic_type ();
5460
5461
if (!((src_elem == T_CHAR) || (src_elem== T_BYTE)) || dst_elem != T_BYTE) {
5461
5462
return false ;
5462
5463
}
@@ -5499,18 +5500,16 @@ bool LibraryCallKit::inline_multiplyToLen() {
5499
5500
x = must_be_not_null (x, true );
5500
5501
y = must_be_not_null (y, true );
5501
5502
5502
- const Type* x_type = x->Value (&_gvn);
5503
- const Type* y_type = y->Value (&_gvn);
5504
- const TypeAryPtr* top_x = x_type->isa_aryptr ();
5505
- const TypeAryPtr* top_y = y_type->isa_aryptr ();
5506
- if (top_x == NULL || top_x->elem () == Type::BOTTOM ||
5507
- top_y == NULL || top_y->elem () == Type::BOTTOM) {
5503
+ const TypeAryPtr* x_type = x->Value (&_gvn)->isa_aryptr ();
5504
+ const TypeAryPtr* y_type = y->Value (&_gvn)->isa_aryptr ();
5505
+ if (x_type == nullptr || x_type->elem () == Type::BOTTOM ||
5506
+ y_type == nullptr || y_type->elem () == Type::BOTTOM) {
5508
5507
// failed array check
5509
5508
return false ;
5510
5509
}
5511
5510
5512
- BasicType x_elem = x_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5513
- BasicType y_elem = y_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5511
+ BasicType x_elem = x_type->elem ()->array_element_basic_type ();
5512
+ BasicType y_elem = y_type->elem ()->array_element_basic_type ();
5514
5513
if (x_elem != T_INT || y_elem != T_INT) {
5515
5514
return false ;
5516
5515
}
@@ -5607,18 +5606,16 @@ bool LibraryCallKit::inline_squareToLen() {
5607
5606
x = must_be_not_null (x, true );
5608
5607
z = must_be_not_null (z, true );
5609
5608
5610
- const Type* x_type = x->Value (&_gvn);
5611
- const Type* z_type = z->Value (&_gvn);
5612
- const TypeAryPtr* top_x = x_type->isa_aryptr ();
5613
- const TypeAryPtr* top_z = z_type->isa_aryptr ();
5614
- if (top_x == NULL || top_x->elem () == Type::BOTTOM ||
5615
- top_z == NULL || top_z->elem () == Type::BOTTOM) {
5609
+ const TypeAryPtr* x_type = x->Value (&_gvn)->isa_aryptr ();
5610
+ const TypeAryPtr* z_type = z->Value (&_gvn)->isa_aryptr ();
5611
+ if (x_type == nullptr || x_type->elem () == Type::BOTTOM ||
5612
+ z_type == nullptr || z_type->elem () == Type::BOTTOM) {
5616
5613
// failed array check
5617
5614
return false ;
5618
5615
}
5619
5616
5620
- BasicType x_elem = x_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5621
- BasicType z_elem = z_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5617
+ BasicType x_elem = x_type->elem ()->array_element_basic_type ();
5618
+ BasicType z_elem = z_type->elem ()->array_element_basic_type ();
5622
5619
if (x_elem != T_INT || z_elem != T_INT) {
5623
5620
return false ;
5624
5621
}
@@ -5654,20 +5651,19 @@ bool LibraryCallKit::inline_mulAdd() {
5654
5651
Node* len = argument (3 );
5655
5652
Node* k = argument (4 );
5656
5653
5654
+ in = must_be_not_null (in, true );
5657
5655
out = must_be_not_null (out, true );
5658
5656
5659
- const Type* out_type = out->Value (&_gvn);
5660
- const Type* in_type = in->Value (&_gvn);
5661
- const TypeAryPtr* top_out = out_type->isa_aryptr ();
5662
- const TypeAryPtr* top_in = in_type->isa_aryptr ();
5663
- if (top_out == NULL || top_out->elem () == Type::BOTTOM ||
5664
- top_in == NULL || top_in->elem () == Type::BOTTOM) {
5657
+ const TypeAryPtr* out_type = out->Value (&_gvn)->isa_aryptr ();
5658
+ const TypeAryPtr* in_type = in->Value (&_gvn)->isa_aryptr ();
5659
+ if (out_type == nullptr || out_type->elem () == Type::BOTTOM ||
5660
+ in_type == nullptr || in_type->elem () == Type::BOTTOM) {
5665
5661
// failed array check
5666
5662
return false ;
5667
5663
}
5668
5664
5669
- BasicType out_elem = out_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5670
- BasicType in_elem = in_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5665
+ BasicType out_elem = out_type->elem ()->array_element_basic_type ();
5666
+ BasicType in_elem = in_type->elem ()->array_element_basic_type ();
5671
5667
if (out_elem != T_INT || in_elem != T_INT) {
5672
5668
return false ;
5673
5669
}
@@ -5705,26 +5701,22 @@ bool LibraryCallKit::inline_montgomeryMultiply() {
5705
5701
Node* inv = argument (4 );
5706
5702
Node* m = argument (6 );
5707
5703
5708
- const Type* a_type = a->Value (&_gvn);
5709
- const TypeAryPtr* top_a = a_type->isa_aryptr ();
5710
- const Type* b_type = b->Value (&_gvn);
5711
- const TypeAryPtr* top_b = b_type->isa_aryptr ();
5712
- const Type* n_type = a->Value (&_gvn);
5713
- const TypeAryPtr* top_n = n_type->isa_aryptr ();
5714
- const Type* m_type = a->Value (&_gvn);
5715
- const TypeAryPtr* top_m = m_type->isa_aryptr ();
5716
- if (top_a == NULL || top_a->elem () == Type::BOTTOM ||
5717
- top_b == NULL || top_b->elem () == Type::BOTTOM ||
5718
- top_n == NULL || top_n->elem () == Type::BOTTOM ||
5719
- top_m == NULL || top_m->elem () == Type::BOTTOM) {
5704
+ const TypeAryPtr* a_type = a->Value (&_gvn)->isa_aryptr ();
5705
+ const TypeAryPtr* b_type = b->Value (&_gvn)->isa_aryptr ();
5706
+ const TypeAryPtr* n_type = n->Value (&_gvn)->isa_aryptr ();
5707
+ const TypeAryPtr* m_type = m->Value (&_gvn)->isa_aryptr ();
5708
+ if (a_type == nullptr || a_type->elem () == Type::BOTTOM ||
5709
+ b_type == nullptr || b_type->elem () == Type::BOTTOM ||
5710
+ n_type == nullptr || n_type->elem () == Type::BOTTOM ||
5711
+ m_type == nullptr || m_type->elem () == Type::BOTTOM) {
5720
5712
// failed array check
5721
5713
return false ;
5722
5714
}
5723
5715
5724
- BasicType a_elem = a_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5725
- BasicType b_elem = b_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5726
- BasicType n_elem = n_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5727
- BasicType m_elem = m_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5716
+ BasicType a_elem = a_type->elem ()->array_element_basic_type ();
5717
+ BasicType b_elem = b_type->elem ()->array_element_basic_type ();
5718
+ BasicType n_elem = n_type->elem ()->array_element_basic_type ();
5719
+ BasicType m_elem = m_type->elem ()->array_element_basic_type ();
5728
5720
if (a_elem != T_INT || b_elem != T_INT || n_elem != T_INT || m_elem != T_INT) {
5729
5721
return false ;
5730
5722
}
@@ -5764,22 +5756,19 @@ bool LibraryCallKit::inline_montgomerySquare() {
5764
5756
Node* inv = argument (3 );
5765
5757
Node* m = argument (5 );
5766
5758
5767
- const Type* a_type = a->Value (&_gvn);
5768
- const TypeAryPtr* top_a = a_type->isa_aryptr ();
5769
- const Type* n_type = a->Value (&_gvn);
5770
- const TypeAryPtr* top_n = n_type->isa_aryptr ();
5771
- const Type* m_type = a->Value (&_gvn);
5772
- const TypeAryPtr* top_m = m_type->isa_aryptr ();
5773
- if (top_a == NULL || top_a->elem () == Type::BOTTOM ||
5774
- top_n == NULL || top_n->elem () == Type::BOTTOM ||
5775
- top_m == NULL || top_m->elem () == Type::BOTTOM) {
5759
+ const TypeAryPtr* a_type = a->Value (&_gvn)->isa_aryptr ();
5760
+ const TypeAryPtr* n_type = n->Value (&_gvn)->isa_aryptr ();
5761
+ const TypeAryPtr* m_type = m->Value (&_gvn)->isa_aryptr ();
5762
+ if (a_type == nullptr || a_type->elem () == Type::BOTTOM ||
5763
+ n_type == nullptr || n_type->elem () == Type::BOTTOM ||
5764
+ m_type == nullptr || m_type->elem () == Type::BOTTOM) {
5776
5765
// failed array check
5777
5766
return false ;
5778
5767
}
5779
5768
5780
- BasicType a_elem = a_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5781
- BasicType n_elem = n_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5782
- BasicType m_elem = m_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5769
+ BasicType a_elem = a_type->elem ()->array_element_basic_type ();
5770
+ BasicType n_elem = n_type->elem ()->array_element_basic_type ();
5771
+ BasicType m_elem = m_type->elem ()->array_element_basic_type ();
5783
5772
if (a_elem != T_INT || n_elem != T_INT || m_elem != T_INT) {
5784
5773
return false ;
5785
5774
}
@@ -5820,17 +5809,15 @@ bool LibraryCallKit::inline_bigIntegerShift(bool isRightShift) {
5820
5809
Node* shiftCount = argument (3 );
5821
5810
Node* numIter = argument (4 );
5822
5811
5823
- const Type* newArr_type = newArr->Value (&_gvn);
5824
- const TypeAryPtr* top_newArr = newArr_type->isa_aryptr ();
5825
- const Type* oldArr_type = oldArr->Value (&_gvn);
5826
- const TypeAryPtr* top_oldArr = oldArr_type->isa_aryptr ();
5827
- if (top_newArr == NULL || top_newArr->elem () == Type::BOTTOM || top_oldArr == NULL
5828
- || top_oldArr->elem () == Type::BOTTOM) {
5812
+ const TypeAryPtr* newArr_type = newArr->Value (&_gvn)->isa_aryptr ();
5813
+ const TypeAryPtr* oldArr_type = oldArr->Value (&_gvn)->isa_aryptr ();
5814
+ if (newArr_type == nullptr || newArr_type->elem () == Type::BOTTOM ||
5815
+ oldArr_type == nullptr || oldArr_type->elem () == Type::BOTTOM) {
5829
5816
return false ;
5830
5817
}
5831
5818
5832
- BasicType newArr_elem = newArr_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5833
- BasicType oldArr_elem = oldArr_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
5819
+ BasicType newArr_elem = newArr_type->elem ()->array_element_basic_type ();
5820
+ BasicType oldArr_elem = oldArr_type->elem ()->array_element_basic_type ();
5834
5821
if (newArr_elem != T_INT || oldArr_elem != T_INT) {
5835
5822
return false ;
5836
5823
}
@@ -6035,15 +6022,14 @@ bool LibraryCallKit::inline_updateBytesCRC32() {
6035
6022
Node* offset = argument (2 ); // type: int
6036
6023
Node* length = argument (3 ); // type: int
6037
6024
6038
- const Type* src_type = src->Value (&_gvn);
6039
- const TypeAryPtr* top_src = src_type->isa_aryptr ();
6040
- if (top_src == NULL || top_src->elem () == Type::BOTTOM) {
6025
+ const TypeAryPtr* src_type = src->Value (&_gvn)->isa_aryptr ();
6026
+ if (src_type == nullptr || src_type->elem () == Type::BOTTOM) {
6041
6027
// failed array check
6042
6028
return false ;
6043
6029
}
6044
6030
6045
6031
// Figure out the size and type of the elements we will be copying.
6046
- BasicType src_elem = src_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
6032
+ BasicType src_elem = src_type->elem ()->array_element_basic_type ();
6047
6033
if (src_elem != T_BYTE) {
6048
6034
return false ;
6049
6035
}
@@ -6124,15 +6110,14 @@ bool LibraryCallKit::inline_updateBytesCRC32C() {
6124
6110
6125
6111
Node* length = _gvn.transform (new SubINode (end, offset));
6126
6112
6127
- const Type* src_type = src->Value (&_gvn);
6128
- const TypeAryPtr* top_src = src_type->isa_aryptr ();
6129
- if (top_src == NULL || top_src->elem () == Type::BOTTOM) {
6113
+ const TypeAryPtr* src_type = src->Value (&_gvn)->isa_aryptr ();
6114
+ if (src_type == nullptr || src_type->elem () == Type::BOTTOM) {
6130
6115
// failed array check
6131
6116
return false ;
6132
6117
}
6133
6118
6134
6119
// Figure out the size and type of the elements we will be copying.
6135
- BasicType src_elem = src_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
6120
+ BasicType src_elem = src_type->elem ()->array_element_basic_type ();
6136
6121
if (src_elem != T_BYTE) {
6137
6122
return false ;
6138
6123
}
@@ -6217,15 +6202,14 @@ bool LibraryCallKit::inline_updateBytesAdler32() {
6217
6202
Node* offset = argument (2 ); // type: int
6218
6203
Node* length = argument (3 ); // type: int
6219
6204
6220
- const Type* src_type = src->Value (&_gvn);
6221
- const TypeAryPtr* top_src = src_type->isa_aryptr ();
6222
- if (top_src == NULL || top_src->elem () == Type::BOTTOM) {
6205
+ const TypeAryPtr* src_type = src->Value (&_gvn)->isa_aryptr ();
6206
+ if (src_type == nullptr || src_type->elem () == Type::BOTTOM) {
6223
6207
// failed array check
6224
6208
return false ;
6225
6209
}
6226
6210
6227
6211
// Figure out the size and type of the elements we will be copying.
6228
- BasicType src_elem = src_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
6212
+ BasicType src_elem = src_type->elem ()->array_element_basic_type ();
6229
6213
if (src_elem != T_BYTE) {
6230
6214
return false ;
6231
6215
}
@@ -6459,11 +6443,10 @@ bool LibraryCallKit::inline_aescrypt_Block(vmIntrinsics::ID id) {
6459
6443
dest = must_be_not_null (dest, true );
6460
6444
6461
6445
// (1) src and dest are arrays.
6462
- const Type* src_type = src->Value (&_gvn);
6463
- const Type* dest_type = dest->Value (&_gvn);
6464
- const TypeAryPtr* top_src = src_type->isa_aryptr ();
6465
- const TypeAryPtr* top_dest = dest_type->isa_aryptr ();
6466
- assert (top_src != NULL && top_src->elem () != Type::BOTTOM && top_dest != NULL && top_dest->elem () != Type::BOTTOM, " args are strange" );
6446
+ const TypeAryPtr* src_type = src->Value (&_gvn)->isa_aryptr ();
6447
+ const TypeAryPtr* dest_type = dest->Value (&_gvn)->isa_aryptr ();
6448
+ assert ( src_type != nullptr && src_type->elem () != Type::BOTTOM &&
6449
+ dest_type != nullptr && dest_type->elem () != Type::BOTTOM, " args are strange" );
6467
6450
6468
6451
// for the quick and dirty code we will skip all the checks.
6469
6452
// we are just trying to get the call to be generated.
@@ -6520,12 +6503,10 @@ bool LibraryCallKit::inline_cipherBlockChaining_AESCrypt(vmIntrinsics::ID id) {
6520
6503
dest = must_be_not_null (dest, false );
6521
6504
6522
6505
// (1) src and dest are arrays.
6523
- const Type* src_type = src->Value (&_gvn);
6524
- const Type* dest_type = dest->Value (&_gvn);
6525
- const TypeAryPtr* top_src = src_type->isa_aryptr ();
6526
- const TypeAryPtr* top_dest = dest_type->isa_aryptr ();
6527
- assert (top_src != NULL && top_src->elem () != Type::BOTTOM
6528
- && top_dest != NULL && top_dest->elem () != Type::BOTTOM, " args are strange" );
6506
+ const TypeAryPtr* src_type = src->Value (&_gvn)->isa_aryptr ();
6507
+ const TypeAryPtr* dest_type = dest->Value (&_gvn)->isa_aryptr ();
6508
+ assert ( src_type != nullptr && src_type->elem () != Type::BOTTOM &&
6509
+ dest_type != nullptr && dest_type->elem () != Type::BOTTOM, " args are strange" );
6529
6510
6530
6511
// checks are the responsibility of the caller
6531
6512
Node* src_start = src;
@@ -6608,12 +6589,10 @@ bool LibraryCallKit::inline_electronicCodeBook_AESCrypt(vmIntrinsics::ID id) {
6608
6589
Node* dest_offset = argument (5 );
6609
6590
6610
6591
// (1) src and dest are arrays.
6611
- const Type* src_type = src->Value (&_gvn);
6612
- const Type* dest_type = dest->Value (&_gvn);
6613
- const TypeAryPtr* top_src = src_type->isa_aryptr ();
6614
- const TypeAryPtr* top_dest = dest_type->isa_aryptr ();
6615
- assert (top_src != NULL && top_src->elem () != Type::BOTTOM
6616
- && top_dest != NULL && top_dest->elem () != Type::BOTTOM, " args are strange" );
6592
+ const TypeAryPtr* src_type = src->Value (&_gvn)->isa_aryptr ();
6593
+ const TypeAryPtr* dest_type = dest->Value (&_gvn)->isa_aryptr ();
6594
+ assert ( src_type != nullptr && src_type->elem () != Type::BOTTOM &&
6595
+ dest_type != nullptr && dest_type->elem () != Type::BOTTOM, " args are strange" );
6617
6596
6618
6597
// checks are the responsibility of the caller
6619
6598
Node* src_start = src;
@@ -6682,12 +6661,10 @@ bool LibraryCallKit::inline_counterMode_AESCrypt(vmIntrinsics::ID id) {
6682
6661
Node* dest_offset = argument (5 );
6683
6662
6684
6663
// (1) src and dest are arrays.
6685
- const Type* src_type = src->Value (&_gvn);
6686
- const Type* dest_type = dest->Value (&_gvn);
6687
- const TypeAryPtr* top_src = src_type->isa_aryptr ();
6688
- const TypeAryPtr* top_dest = dest_type->isa_aryptr ();
6689
- assert (top_src != NULL && top_src->elem () != Type::BOTTOM &&
6690
- top_dest != NULL && top_dest->elem () != Type::BOTTOM, " args are strange" );
6664
+ const TypeAryPtr* src_type = src->Value (&_gvn)->isa_aryptr ();
6665
+ const TypeAryPtr* dest_type = dest->Value (&_gvn)->isa_aryptr ();
6666
+ assert ( src_type != nullptr && src_type->elem () != Type::BOTTOM &&
6667
+ dest_type != nullptr && dest_type->elem () != Type::BOTTOM, " args are strange" );
6691
6668
6692
6669
// checks are the responsibility of the caller
6693
6670
Node* src_start = src;
@@ -7121,14 +7098,13 @@ bool LibraryCallKit::inline_digestBase_implCompress(vmIntrinsics::ID id) {
7121
7098
Node* src = argument (1 ); // type oop
7122
7099
Node* ofs = argument (2 ); // type int
7123
7100
7124
- const Type* src_type = src->Value (&_gvn);
7125
- const TypeAryPtr* top_src = src_type->isa_aryptr ();
7126
- if (top_src == NULL || top_src->elem () == Type::BOTTOM) {
7101
+ const TypeAryPtr* src_type = src->Value (&_gvn)->isa_aryptr ();
7102
+ if (src_type == nullptr || src_type->elem () == Type::BOTTOM) {
7127
7103
// failed array check
7128
7104
return false ;
7129
7105
}
7130
7106
// Figure out the size and type of the elements we will be copying.
7131
- BasicType src_elem = src_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
7107
+ BasicType src_elem = src_type->elem ()->array_element_basic_type ();
7132
7108
if (src_elem != T_BYTE) {
7133
7109
return false ;
7134
7110
}
@@ -7213,14 +7189,13 @@ bool LibraryCallKit::inline_digestBase_implCompressMB(int predicate) {
7213
7189
Node* ofs = argument (2 ); // type int
7214
7190
Node* limit = argument (3 ); // type int
7215
7191
7216
- const Type* src_type = src->Value (&_gvn);
7217
- const TypeAryPtr* top_src = src_type->isa_aryptr ();
7218
- if (top_src == NULL || top_src->elem () == Type::BOTTOM) {
7192
+ const TypeAryPtr* src_type = src->Value (&_gvn)->isa_aryptr ();
7193
+ if (src_type == nullptr || src_type->elem () == Type::BOTTOM) {
7219
7194
// failed array check
7220
7195
return false ;
7221
7196
}
7222
7197
// Figure out the size and type of the elements we will be copying.
7223
- BasicType src_elem = src_type->isa_aryptr ()-> elem ()->array_element_basic_type ();
7198
+ BasicType src_elem = src_type->elem ()->array_element_basic_type ();
7224
7199
if (src_elem != T_BYTE) {
7225
7200
return false ;
7226
7201
}
@@ -7351,15 +7326,12 @@ bool LibraryCallKit::inline_galoisCounterMode_AESCrypt() {
7351
7326
Node* ghash_object = argument (8 );
7352
7327
7353
7328
// (1) in, ct and out are arrays.
7354
- const Type* in_type = in->Value (&_gvn);
7355
- const Type* ct_type = ct->Value (&_gvn);
7356
- const Type* out_type = out->Value (&_gvn);
7357
- const TypeAryPtr* top_in = in_type->isa_aryptr ();
7358
- const TypeAryPtr* top_ct = ct_type->isa_aryptr ();
7359
- const TypeAryPtr* top_out = out_type->isa_aryptr ();
7360
- assert (top_in != NULL && top_in->elem () != Type::BOTTOM &&
7361
- top_ct != NULL && top_ct->elem () != Type::BOTTOM &&
7362
- top_out != NULL && top_out->elem () != Type::BOTTOM, " args are strange" );
7329
+ const TypeAryPtr* in_type = in->Value (&_gvn)->isa_aryptr ();
7330
+ const TypeAryPtr* ct_type = ct->Value (&_gvn)->isa_aryptr ();
7331
+ const TypeAryPtr* out_type = out->Value (&_gvn)->isa_aryptr ();
7332
+ assert ( in_type != nullptr && in_type->elem () != Type::BOTTOM &&
7333
+ ct_type != nullptr && ct_type->elem () != Type::BOTTOM &&
7334
+ out_type != nullptr && out_type->elem () != Type::BOTTOM, " args are strange" );
7363
7335
7364
7336
// checks are the responsibility of the caller
7365
7337
Node* in_start = in;
0 commit comments