529 ArrayCopyStub(LIR_OpArrayCopy* op): _op(op) { }
530
531 LIR_Opr src() const { return _op->src(); }
532 LIR_Opr src_pos() const { return _op->src_pos(); }
533 LIR_Opr dst() const { return _op->dst(); }
534 LIR_Opr dst_pos() const { return _op->dst_pos(); }
535 LIR_Opr length() const { return _op->length(); }
536 LIR_Opr tmp() const { return _op->tmp(); }
537
538 virtual void emit_code(LIR_Assembler* e);
539 virtual CodeEmitInfo* info() const { return _op->info(); }
540 virtual void visit(LIR_OpVisitState* visitor) {
541 // don't pass in the code emit info since it's processed in the fast path
542 visitor->do_slow_case();
543 }
544 #ifndef PRODUCT
545 virtual void print_name(outputStream* out) const { out->print("ArrayCopyStub"); }
546 #endif // PRODUCT
547 };
548
549 #endif // SHARE_C1_C1_CODESTUBS_HPP
|
529 ArrayCopyStub(LIR_OpArrayCopy* op): _op(op) { }
530
531 LIR_Opr src() const { return _op->src(); }
532 LIR_Opr src_pos() const { return _op->src_pos(); }
533 LIR_Opr dst() const { return _op->dst(); }
534 LIR_Opr dst_pos() const { return _op->dst_pos(); }
535 LIR_Opr length() const { return _op->length(); }
536 LIR_Opr tmp() const { return _op->tmp(); }
537
538 virtual void emit_code(LIR_Assembler* e);
539 virtual CodeEmitInfo* info() const { return _op->info(); }
540 virtual void visit(LIR_OpVisitState* visitor) {
541 // don't pass in the code emit info since it's processed in the fast path
542 visitor->do_slow_case();
543 }
544 #ifndef PRODUCT
545 virtual void print_name(outputStream* out) const { out->print("ArrayCopyStub"); }
546 #endif // PRODUCT
547 };
548
549 class LoadKlassStub: public CodeStub {
550 private:
551 LIR_Opr _obj;
552 LIR_Opr _result;
553
554 public:
555 LoadKlassStub(LIR_Opr obj, LIR_Opr result) :
556 CodeStub(), _obj(obj), _result(result) {};
557
558 virtual void emit_code(LIR_Assembler* e);
559 virtual void visit(LIR_OpVisitState* visitor) {
560 visitor->do_input(_obj);
561 visitor->do_output(_result);
562 }
563 #ifndef PRODUCT
564 virtual void print_name(outputStream* out) const { out->print("LoadKlassStub"); }
565 #endif // PRODUCT
566 };
567
568 #endif // SHARE_C1_C1_CODESTUBS_HPP
|