Mercurial > hg > truffle
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); |