RFR: 8049776: Implement C1 AES/CBC crypto acceleration framework

Vladimir Danushevsky vladimir.danushevsky at oracle.com
Wed Jul 9 21:31:50 UTC 2014


This patch adds a platform independent framework to support AES/CBC encryption/decryption intrinsics in C1.  Platform specific changes that implement the support are not covered by current patch.

The platform support is enabled to implementing LIRGenerator::do_CryptoIntrinsics() and LIR_Assembler::emit_crypto_cbc_aes() along with setting Abstract_VM_Version::_supports_crypto_acceleration_client
true in the corresponding architecture port.

Webrev:
http://cr.openjdk.java.net/~vladidan/8049776/webrev.00/

GraphBuilder::append_crypto_cbc_aes generates an InstanceOf check to confirm the cipher being utilized is indeed AES. LIRAssembler code should perform the InstanceOf result check and jump ether into an AES/CBC intrinsic stub or a virtual call stub. 

RFE:
https://bugs.openjdk.java.net/browse/JDK-8049776

Thanks,
Vlad



More information about the hotspot-dev mailing list