< prev index next >

src/hotspot/share/c1/c1_CodeStubs.hpp

Print this page

*** 229,238 **** --- 229,239 ---- #ifndef PRODUCT virtual void print_name(outputStream* out) const { out->print("ImplicitNullCheckStub"); } #endif // PRODUCT }; + class LoadFlattenedArrayStub: public CodeStub { private: LIR_Opr _array; LIR_Opr _index; LIR_Opr _result;
*** 252,261 **** --- 253,284 ---- virtual void print_name(outputStream* out) const { out->print("LoadFlattenedArrayStub"); } #endif // PRODUCT }; + class StoreFlattenedArrayStub: public CodeStub { + private: + LIR_Opr _array; + LIR_Opr _index; + LIR_Opr _value; + CodeEmitInfo* _info; + + public: + StoreFlattenedArrayStub(LIR_Opr array, LIR_Opr index, LIR_Opr value, CodeEmitInfo* info); + virtual void emit_code(LIR_Assembler* e); + virtual CodeEmitInfo* info() const { return _info; } + virtual void visit(LIR_OpVisitState* visitor) { + visitor->do_slow_case(_info); + visitor->do_input(_array); + visitor->do_input(_index); + visitor->do_input(_value); + } + #ifndef PRODUCT + virtual void print_name(outputStream* out) const { out->print("StoreFlattenedArrayStub"); } + #endif // PRODUCT + }; + class NewInstanceStub: public CodeStub { private: ciInstanceKlass* _klass; LIR_Opr _klass_reg;
< prev index next >