< 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 >