1.1 --- a/src/share/vm/opto/runtime.cpp Wed Oct 06 14:18:32 2010 -0700 1.2 +++ b/src/share/vm/opto/runtime.cpp Thu Oct 07 21:40:55 2010 -0700 1.3 @@ -646,12 +646,14 @@ 1.4 1.5 1.6 const TypeFunc* OptoRuntime::array_fill_Type() { 1.7 - // create input type (domain) 1.8 - const Type** fields = TypeTuple::fields(3); 1.9 - fields[TypeFunc::Parms+0] = TypePtr::NOTNULL; 1.10 - fields[TypeFunc::Parms+1] = TypeInt::INT; 1.11 - fields[TypeFunc::Parms+2] = TypeInt::INT; 1.12 - const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms + 3, fields); 1.13 + // create input type (domain): pointer, int, size_t 1.14 + const Type** fields = TypeTuple::fields(3 LP64_ONLY( + 1)); 1.15 + int argp = TypeFunc::Parms; 1.16 + fields[argp++] = TypePtr::NOTNULL; 1.17 + fields[argp++] = TypeInt::INT; 1.18 + fields[argp++] = TypeX_X; // size in whatevers (size_t) 1.19 + LP64_ONLY(fields[argp++] = Type::HALF); // other half of long length 1.20 + const TypeTuple *domain = TypeTuple::make(argp, fields); 1.21 1.22 // create result type 1.23 fields = TypeTuple::fields(1);