544 ArrayCopyStub(LIR_OpArrayCopy* op): _op(op) { }
545
546 LIR_Opr src() const { return _op->src(); }
547 LIR_Opr src_pos() const { return _op->src_pos(); }
548 LIR_Opr dst() const { return _op->dst(); }
549 LIR_Opr dst_pos() const { return _op->dst_pos(); }
550 LIR_Opr length() const { return _op->length(); }
551 LIR_Opr tmp() const { return _op->tmp(); }
552
553 virtual void emit_code(LIR_Assembler* e);
554 virtual CodeEmitInfo* info() const { return _op->info(); }
555 virtual void visit(LIR_OpVisitState* visitor) {
556 // don't pass in the code emit info since it's processed in the fast path
557 visitor->do_slow_case();
558 }
559 #ifndef PRODUCT
560 virtual void print_name(outputStream* out) const { out->print("ArrayCopyStub"); }
561 #endif // PRODUCT
562 };
563
564 #endif // SHARE_C1_C1_CODESTUBS_HPP
|
544 ArrayCopyStub(LIR_OpArrayCopy* op): _op(op) { }
545
546 LIR_Opr src() const { return _op->src(); }
547 LIR_Opr src_pos() const { return _op->src_pos(); }
548 LIR_Opr dst() const { return _op->dst(); }
549 LIR_Opr dst_pos() const { return _op->dst_pos(); }
550 LIR_Opr length() const { return _op->length(); }
551 LIR_Opr tmp() const { return _op->tmp(); }
552
553 virtual void emit_code(LIR_Assembler* e);
554 virtual CodeEmitInfo* info() const { return _op->info(); }
555 virtual void visit(LIR_OpVisitState* visitor) {
556 // don't pass in the code emit info since it's processed in the fast path
557 visitor->do_slow_case();
558 }
559 #ifndef PRODUCT
560 virtual void print_name(outputStream* out) const { out->print("ArrayCopyStub"); }
561 #endif // PRODUCT
562 };
563
564 class LoadKlassStub: public CodeStub {
565 private:
566 LIR_Opr _result;
567
568 public:
569 LoadKlassStub(LIR_Opr result) :
570 CodeStub(), _result(result) {};
571
572 virtual void emit_code(LIR_Assembler* e);
573 virtual void visit(LIR_OpVisitState* visitor) {
574 visitor->do_temp(_result);
575 visitor->do_output(_result);
576 }
577 #ifndef PRODUCT
578 virtual void print_name(outputStream* out) const { out->print("LoadKlassStub"); }
579 #endif // PRODUCT
580 };
581
582 #endif // SHARE_C1_C1_CODESTUBS_HPP
|