90 // MarkSweep::invoke(0, "Debugging"); |
90 // MarkSweep::invoke(0, "Debugging"); |
91 // |
91 // |
92 // At command line specify the parameters: -XX:+FullGCALot -XX:FullGCALotStart=100000000 |
92 // At command line specify the parameters: -XX:+FullGCALot -XX:FullGCALotStart=100000000 |
93 |
93 |
94 |
94 |
95 |
95 // GHASH block processing |
|
96 const TypeFunc* OptoRuntime::ghash_processBlocks_Type() { |
|
97 int argcnt = 4; |
|
98 |
|
99 const Type** fields = TypeTuple::fields(argcnt); |
|
100 int argp = TypeFunc::Parms; |
|
101 fields[argp++] = TypePtr::NOTNULL; // state |
|
102 fields[argp++] = TypePtr::NOTNULL; // subkeyH |
|
103 fields[argp++] = TypePtr::NOTNULL; // data |
|
104 fields[argp++] = TypeInt::INT; // blocks |
|
105 assert(argp == TypeFunc::Parms+argcnt, "correct decoding"); |
|
106 const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields); |
|
107 |
|
108 // result type needed |
|
109 fields = TypeTuple::fields(1); |
|
110 fields[TypeFunc::Parms+0] = NULL; // void |
|
111 const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields); |
|
112 return TypeFunc::make(domain, range); |
|
113 } |
96 |
114 |
97 // Compiled code entry points |
115 // Compiled code entry points |
98 address OptoRuntime::_new_instance_Java = NULL; |
116 address OptoRuntime::_new_instance_Java = NULL; |
99 address OptoRuntime::_new_array_Java = NULL; |
117 address OptoRuntime::_new_array_Java = NULL; |
100 address OptoRuntime::_new_array_nozero_Java = NULL; |
118 address OptoRuntime::_new_array_nozero_Java = NULL; |