--- old/src/hotspot/share/opto/runtime.cpp 2018-04-20 00:47:11.000000000 +0100 +++ new/src/hotspot/share/opto/runtime.cpp 2018-04-20 00:47:11.000000000 +0100 @@ -723,6 +723,27 @@ return TypeFunc::make(domain, range); } +const TypeFunc* OptoRuntime::void_void_Type() { + // create input type (domain) + const Type **fields = TypeTuple::fields(0); + const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms+0, fields); + + // create result type (range) + fields = TypeTuple::fields(0); + const TypeTuple *range = TypeTuple::make(TypeFunc::Parms+0, fields); + return TypeFunc::make(domain, range); + } + + const TypeFunc* OptoRuntime::continuation_doYield_Type() { + const Type**fields = TypeTuple::fields(1); + fields[TypeFunc::Parms+0] = TypeInstPtr::NOTNULL; // Object to be Locked + const TypeTuple *args = TypeTuple::make(TypeFunc::Parms+1, fields); + + fields = TypeTuple::fields(0); + const TypeTuple *result = TypeTuple::make(TypeFunc::Parms+0, fields); + return TypeFunc::make(args, result); + } + // arraycopy stub variations: enum ArrayCopyType { ac_fast, // void(ptr, ptr, size_t)