< prev index next >

src/share/vm/opto/runtime.cpp

Print this page

        

*** 1556,1565 **** --- 1556,1583 ---- const TypeTuple *range = TypeTuple::make(TypeFunc::Parms+0,fields); return TypeFunc::make(domain,range); } + const TypeFunc *OptoRuntime::heap_object_alloc_Type() { + // Keep it separate so that we don't have to worry if they change it. + // create input type (domain) + const Type **fields = TypeTuple::fields(2); + // Thread-local storage + fields[TypeFunc::Parms+0] = TypeRawPtr::BOTTOM; + // oop; newly allocated object + fields[TypeFunc::Parms+1] = TypeInstPtr::NOTNULL; + + const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms+2, fields); + + // create result type (range) + fields = TypeTuple::fields(0); + + const TypeTuple *range = TypeTuple::make(TypeFunc::Parms+0, fields); + + return TypeFunc::make(domain, range); + } JRT_ENTRY_NO_ASYNC(void, OptoRuntime::register_finalizer(oopDesc* obj, JavaThread* thread)) assert(obj->is_oop(), "must be a valid oop"); assert(obj->klass()->has_finalizer(), "shouldn't be here otherwise"); InstanceKlass::register_finalizer(instanceOop(obj), CHECK);
< prev index next >