comparison src/share/vm/opto/runtime.cpp @ 1763:d6f45b55c972

4809552: Optimize Arrays.fill(...) Reviewed-by: kvn
author never
date Fri, 27 Aug 2010 17:33:49 -0700
parents c18cbe5936b8
children 75588558f1bf
comparison
equal deleted inserted replaced
1731:ee5cc9e78493 1763:d6f45b55c972
643 // This signature is like System.arraycopy, except that it returns status. 643 // This signature is like System.arraycopy, except that it returns status.
644 return make_arraycopy_Type(ac_generic); 644 return make_arraycopy_Type(ac_generic);
645 } 645 }
646 646
647 647
648 const TypeFunc* OptoRuntime::array_fill_Type() {
649 // create input type (domain)
650 const Type** fields = TypeTuple::fields(3);
651 fields[TypeFunc::Parms+0] = TypePtr::NOTNULL;
652 fields[TypeFunc::Parms+1] = TypeInt::INT;
653 fields[TypeFunc::Parms+2] = TypeInt::INT;
654 const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms + 3, fields);
655
656 // create result type
657 fields = TypeTuple::fields(1);
658 fields[TypeFunc::Parms+0] = NULL; // void
659 const TypeTuple *range = TypeTuple::make(TypeFunc::Parms, fields);
660
661 return TypeFunc::make(domain, range);
662 }
663
648 //------------- Interpreter state access for on stack replacement 664 //------------- Interpreter state access for on stack replacement
649 const TypeFunc* OptoRuntime::osr_end_Type() { 665 const TypeFunc* OptoRuntime::osr_end_Type() {
650 // create input type (domain) 666 // create input type (domain)
651 const Type **fields = TypeTuple::fields(1); 667 const Type **fields = TypeTuple::fields(1);
652 fields[TypeFunc::Parms+0] = TypeRawPtr::BOTTOM; // OSR temp buf 668 fields[TypeFunc::Parms+0] = TypeRawPtr::BOTTOM; // OSR temp buf