comparison src/share/vm/opto/runtime.cpp @ 1844:75588558f1bf

6980792: Crash "exception happened outside interpreter, nmethods and vtable stubs (1)" Reviewed-by: kvn
author never
date Thu, 07 Oct 2010 21:40:55 -0700
parents d6f45b55c972
children f95d63e2154a
comparison
equal deleted inserted replaced
1832:22e4420d19f7 1844:75588558f1bf
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() { 648 const TypeFunc* OptoRuntime::array_fill_Type() {
649 // create input type (domain) 649 // create input type (domain): pointer, int, size_t
650 const Type** fields = TypeTuple::fields(3); 650 const Type** fields = TypeTuple::fields(3 LP64_ONLY( + 1));
651 fields[TypeFunc::Parms+0] = TypePtr::NOTNULL; 651 int argp = TypeFunc::Parms;
652 fields[TypeFunc::Parms+1] = TypeInt::INT; 652 fields[argp++] = TypePtr::NOTNULL;
653 fields[TypeFunc::Parms+2] = TypeInt::INT; 653 fields[argp++] = TypeInt::INT;
654 const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms + 3, fields); 654 fields[argp++] = TypeX_X; // size in whatevers (size_t)
655 LP64_ONLY(fields[argp++] = Type::HALF); // other half of long length
656 const TypeTuple *domain = TypeTuple::make(argp, fields);
655 657
656 // create result type 658 // create result type
657 fields = TypeTuple::fields(1); 659 fields = TypeTuple::fields(1);
658 fields[TypeFunc::Parms+0] = NULL; // void 660 fields[TypeFunc::Parms+0] = NULL; // void
659 const TypeTuple *range = TypeTuple::make(TypeFunc::Parms, fields); 661 const TypeTuple *range = TypeTuple::make(TypeFunc::Parms, fields);