< 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 >