src/share/vm/c1/c1_LIR.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
7088419 Cdiff src/share/vm/c1/c1_LIR.cpp
src/share/vm/c1/c1_LIR.cpp
Print this page
*** 428,437 ****
--- 428,442 ----
, _expected_type(expected_type)
, _length(length) {
_stub = new ArrayCopyStub(this);
}
+ LIR_OpUpdateCRC32::LIR_OpUpdateCRC32(LIR_Opr crc, LIR_Opr val, LIR_Opr res)
+ : LIR_Op(lir_updatecrc32, res, NULL)
+ , _crc(crc)
+ , _val(val) {
+ }
//-------------------verify--------------------------
void LIR_Op1::verify() const {
switch(code()) {
*** 874,883 ****
--- 879,902 ----
break;
}
+ // LIR_OpUpdateCRC32
+ case lir_updatecrc32: {
+ assert(op->as_OpUpdateCRC32() != NULL, "must be");
+ LIR_OpUpdateCRC32* opUp = (LIR_OpUpdateCRC32*)op;
+
+ assert(opUp->_crc->is_valid(), "used"); do_input(opUp->_crc); do_temp(opUp->_crc);
+ assert(opUp->_val->is_valid(), "used"); do_input(opUp->_val); do_temp(opUp->_val);
+ assert(opUp->_result->is_valid(), "used"); do_output(opUp->_result);
+ assert(opUp->_info == NULL, "no info for LIR_OpUpdateCRC32");
+
+ break;
+ }
+
+
// LIR_OpLock
case lir_lock:
case lir_unlock: {
assert(op->as_OpLock() != NULL, "must be");
LIR_OpLock* opLock = (LIR_OpLock*)op;
*** 1054,1063 ****
--- 1073,1086 ----
void LIR_OpArrayCopy::emit_code(LIR_Assembler* masm) {
masm->emit_arraycopy(this);
masm->emit_code_stub(stub());
}
+ void LIR_OpUpdateCRC32::emit_code(LIR_Assembler* masm) {
+ masm->emit_updatecrc32(this);
+ }
+
void LIR_Op0::emit_code(LIR_Assembler* masm) {
masm->emit_op0(this);
}
void LIR_Op1::emit_code(LIR_Assembler* masm) {
*** 1761,1770 ****
--- 1784,1795 ----
case lir_icvirtual_call: s = "icvirtual"; break;
case lir_virtual_call: s = "virtual"; break;
case lir_dynamic_call: s = "dynamic"; break;
// LIR_OpArrayCopy
case lir_arraycopy: s = "arraycopy"; break;
+ // LIR_OpUpdateCRC32
+ case lir_updatecrc32: s = "updatecrc32"; break;
// LIR_OpLock
case lir_lock: s = "lock"; break;
case lir_unlock: s = "unlock"; break;
// LIR_OpDelay
case lir_delay_slot: s = "delay"; break;
*** 1813,1822 ****
--- 1838,1854 ----
dst_pos()->print(out); out->print(" ");
length()->print(out); out->print(" ");
tmp()->print(out); out->print(" ");
}
+ // LIR_OpUpdateCRC32
+ void LIR_OpUpdateCRC32::print_instr(outputStream* out) const {
+ crc()->print(out); out->print(" ");
+ val()->print(out); out->print(" ");
+ result_opr()->print(out); out->print(" ");
+ }
+
// LIR_OpCompareAndSwap
void LIR_OpCompareAndSwap::print_instr(outputStream* out) const {
addr()->print(out); out->print(" ");
cmp_value()->print(out); out->print(" ");
new_value()->print(out); out->print(" ");
src/share/vm/c1/c1_LIR.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File