diff options
Diffstat (limited to 'src/share/vm/opto/runtime.cpp')
-rw-r--r-- | src/share/vm/opto/runtime.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/share/vm/opto/runtime.cpp b/src/share/vm/opto/runtime.cpp index 57d2f5764..4562dbcd5 100644 --- a/src/share/vm/opto/runtime.cpp +++ b/src/share/vm/opto/runtime.cpp @@ -92,7 +92,25 @@ // At command line specify the parameters: -XX:+FullGCALot -XX:FullGCALotStart=100000000 - +// GHASH block processing +const TypeFunc* OptoRuntime::ghash_processBlocks_Type() { + int argcnt = 4; + + const Type** fields = TypeTuple::fields(argcnt); + int argp = TypeFunc::Parms; + fields[argp++] = TypePtr::NOTNULL; // state + fields[argp++] = TypePtr::NOTNULL; // subkeyH + fields[argp++] = TypePtr::NOTNULL; // data + fields[argp++] = TypeInt::INT; // blocks + assert(argp == TypeFunc::Parms+argcnt, "correct decoding"); + const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields); + + // result type needed + fields = TypeTuple::fields(1); + fields[TypeFunc::Parms+0] = NULL; // void + const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields); + return TypeFunc::make(domain, range); +} // Compiled code entry points address OptoRuntime::_new_instance_Java = NULL; |