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