< prev index next >

src/hotspot/share/opto/library_call.cpp

Print this page

        

@@ -5671,11 +5671,15 @@
 
 //------------------------------inline_aescrypt_Block-----------------------
 bool LibraryCallKit::inline_aescrypt_Block(vmIntrinsics::ID id) {
   address stubAddr = NULL;
   const char *stubName;
+#ifdef AARCH32
+  assert(UseAESIntrinsics, "sanity");
+#else
   assert(UseAES, "need AES instruction support");
+#endif
 
   switch(id) {
   case vmIntrinsics::_aescrypt_encryptBlock:
     stubAddr = StubRoutines::aescrypt_encryptBlock();
     stubName = "aescrypt_encryptBlock";

@@ -5740,11 +5744,15 @@
 //------------------------------inline_cipherBlockChaining_AESCrypt-----------------------
 bool LibraryCallKit::inline_cipherBlockChaining_AESCrypt(vmIntrinsics::ID id) {
   address stubAddr = NULL;
   const char *stubName = NULL;
 
+#ifdef AARCH32
+  assert(UseAESIntrinsics, "sanity");
+#else
   assert(UseAES, "need AES instruction support");
+#endif
 
   switch(id) {
   case vmIntrinsics::_cipherBlockChaining_encryptAESCrypt:
     stubAddr = StubRoutines::cipherBlockChaining_encryptAESCrypt();
     stubName = "cipherBlockChaining_encryptAESCrypt";

@@ -5809,10 +5817,13 @@
 
   // similarly, get the start address of the r vector
   Node* objRvec = load_field_from_object(cipherBlockChaining_object, "r", "[B", /*is_exact*/ false);
   if (objRvec == NULL) return false;
   Node* r_start = array_element_address(objRvec, intcon(0), T_BYTE);
+#ifdef AARCH32
+  if (r_start == NULL) return false;
+#endif
 
   Node* cbcCrypt;
   if (Matcher::pass_original_key_for_aes()) {
     // on SPARC we need to pass the original key since key expansion needs to happen in intrinsics due to
     // compatibility issues between Java key expansion and SPARC crypto instructions
< prev index next >