< prev index next >

src/share/vm/opto/runtime.cpp

Print this page




 970   // create input type (domain)
 971   int num_args      = 5;
 972   int argcnt = num_args;
 973   const Type** fields = TypeTuple::fields(argcnt);
 974   int argp = TypeFunc::Parms;
 975   fields[argp++] = TypePtr::NOTNULL;    // out
 976   fields[argp++] = TypePtr::NOTNULL;    // in
 977   fields[argp++] = TypeInt::INT;        // offset
 978   fields[argp++] = TypeInt::INT;        // len
 979   fields[argp++] = TypeInt::INT;        // k
 980   assert(argp == TypeFunc::Parms+argcnt, "correct decoding");
 981   const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
 982 
 983   // returning carry (int)
 984   fields = TypeTuple::fields(1);
 985   fields[TypeFunc::Parms+0] = TypeInt::INT;
 986   const TypeTuple* range = TypeTuple::make(TypeFunc::Parms+1, fields);
 987   return TypeFunc::make(domain, range);
 988 }
 989 



 990 















 991 
 992 //------------- Interpreter state access for on stack replacement
 993 const TypeFunc* OptoRuntime::osr_end_Type() {
 994   // create input type (domain)
 995   const Type **fields = TypeTuple::fields(1);
 996   fields[TypeFunc::Parms+0] = TypeRawPtr::BOTTOM; // OSR temp buf
 997   const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms+1, fields);
 998 
 999   // create result type
1000   fields = TypeTuple::fields(1);
1001   // fields[TypeFunc::Parms+0] = TypeInstPtr::NOTNULL; // locked oop
1002   fields[TypeFunc::Parms+0] = NULL; // void
1003   const TypeTuple *range = TypeTuple::make(TypeFunc::Parms, fields);
1004   return TypeFunc::make(domain, range);
1005 }
1006 
1007 //-------------- methodData update helpers
1008 
1009 const TypeFunc* OptoRuntime::profile_receiver_type_Type() {
1010   // create input type (domain)




 970   // create input type (domain)
 971   int num_args      = 5;
 972   int argcnt = num_args;
 973   const Type** fields = TypeTuple::fields(argcnt);
 974   int argp = TypeFunc::Parms;
 975   fields[argp++] = TypePtr::NOTNULL;    // out
 976   fields[argp++] = TypePtr::NOTNULL;    // in
 977   fields[argp++] = TypeInt::INT;        // offset
 978   fields[argp++] = TypeInt::INT;        // len
 979   fields[argp++] = TypeInt::INT;        // k
 980   assert(argp == TypeFunc::Parms+argcnt, "correct decoding");
 981   const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
 982 
 983   // returning carry (int)
 984   fields = TypeTuple::fields(1);
 985   fields[TypeFunc::Parms+0] = TypeInt::INT;
 986   const TypeTuple* range = TypeTuple::make(TypeFunc::Parms+1, fields);
 987   return TypeFunc::make(domain, range);
 988 }
 989 
 990 // GHASH block processing
 991 const TypeFunc* OptoRuntime::ghash_processBlocks_Type() {
 992     int argcnt = 4;
 993 
 994     const Type** fields = TypeTuple::fields(argcnt);
 995     int argp = TypeFunc::Parms;
 996     fields[argp++] = TypePtr::NOTNULL;    // state
 997     fields[argp++] = TypePtr::NOTNULL;    // subkeyH
 998     fields[argp++] = TypePtr::NOTNULL;    // data
 999     fields[argp++] = TypeInt::INT;        // blocks
1000     assert(argp == TypeFunc::Parms+argcnt, "correct decoding");
1001     const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
1002 
1003     // result type needed
1004     fields = TypeTuple::fields(1);
1005     fields[TypeFunc::Parms+0] = NULL; // void
1006     const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields);
1007     return TypeFunc::make(domain, range);
1008 }
1009 
1010 //------------- Interpreter state access for on stack replacement
1011 const TypeFunc* OptoRuntime::osr_end_Type() {
1012   // create input type (domain)
1013   const Type **fields = TypeTuple::fields(1);
1014   fields[TypeFunc::Parms+0] = TypeRawPtr::BOTTOM; // OSR temp buf
1015   const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms+1, fields);
1016 
1017   // create result type
1018   fields = TypeTuple::fields(1);
1019   // fields[TypeFunc::Parms+0] = TypeInstPtr::NOTNULL; // locked oop
1020   fields[TypeFunc::Parms+0] = NULL; // void
1021   const TypeTuple *range = TypeTuple::make(TypeFunc::Parms, fields);
1022   return TypeFunc::make(domain, range);
1023 }
1024 
1025 //-------------- methodData update helpers
1026 
1027 const TypeFunc* OptoRuntime::profile_receiver_type_Type() {
1028   // create input type (domain)


< prev index next >