src/share/vm/c1/c1_LIR.cpp
Print this page
@@ -1004,10 +1004,33 @@
do_input(opProfileType->_mdp); do_temp(opProfileType->_mdp);
do_input(opProfileType->_obj);
do_temp(opProfileType->_tmp);
break;
}
+
+// LIR_OpCrypto_CBC_AES
+ case lir_crypto_cbc_aes: {
+ assert(op->as_OpCrypto_CBC_AES() != NULL, "must be");
+ LIR_OpCrypto_CBC_AES* opCrypto_CBC_AES = (LIR_OpCrypto_CBC_AES*)op;
+
+ do_input(opCrypto_CBC_AES->_recv);
+ do_input(opCrypto_CBC_AES->_src);
+ do_input(opCrypto_CBC_AES->_src_off);
+ do_input(opCrypto_CBC_AES->_src_len);
+ do_input(opCrypto_CBC_AES->_dst);
+ do_input(opCrypto_CBC_AES->_dst_off);
+ do_input(opCrypto_CBC_AES->_insof);
+
+ do_temp(opCrypto_CBC_AES->_recv);
+
+ if (opCrypto_CBC_AES->_info) do_info(opCrypto_CBC_AES->_info);
+ do_call();
+ if (opCrypto_CBC_AES->_result->is_valid()) do_output(opCrypto_CBC_AES->_result);
+
+ break;
+ }
+
default:
ShouldNotReachHere();
}
}
@@ -1129,10 +1152,14 @@
void LIR_OpCompareAndSwap::emit_code(LIR_Assembler* masm) {
masm->emit_compare_and_swap(this);
}
+void LIR_OpCrypto_CBC_AES::emit_code(LIR_Assembler* masm) {
+ masm->emit_crypto_cbc_aes(this);
+}
+
void LIR_Op3::emit_code(LIR_Assembler* masm) {
masm->emit_op3(this);
}
void LIR_OpLock::emit_code(LIR_Assembler* masm) {
@@ -2105,10 +2132,17 @@
mdp()->print(out); out->print(" ");
obj()->print(out); out->print(" ");
tmp()->print(out); out->print(" ");
}
+void LIR_OpCrypto_CBC_AES::print_instr(outputStream* out) const {
+ src()->print(out); out->print(" ");
+ src_off()->print(out); out->print(" ");
+ src_len()->print(out); out->print(" ");
+ dst()->print(out); out->print(" ");
+ dst_off()->print(out); out->print(" ");
+}
#endif // PRODUCT
// Implementation of LIR_InsertionBuffer
void LIR_InsertionBuffer::append(int index, LIR_Op* op) {