hotspot/src/share/vm/opto/runtime.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8069539 Sdiff hotspot/src/share/vm/opto

hotspot/src/share/vm/opto/runtime.cpp

Print this page




 928   int num_args      = 6;
 929   int argcnt = num_args;
 930   const Type** fields = TypeTuple::fields(argcnt);
 931   int argp = TypeFunc::Parms;
 932   fields[argp++] = TypePtr::NOTNULL;    // x
 933   fields[argp++] = TypeInt::INT;        // xlen
 934   fields[argp++] = TypePtr::NOTNULL;    // y
 935   fields[argp++] = TypeInt::INT;        // ylen
 936   fields[argp++] = TypePtr::NOTNULL;    // z
 937   fields[argp++] = TypeInt::INT;        // zlen
 938   assert(argp == TypeFunc::Parms+argcnt, "correct decoding");
 939   const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
 940 
 941   // no result type needed
 942   fields = TypeTuple::fields(1);
 943   fields[TypeFunc::Parms+0] = NULL;
 944   const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields);
 945   return TypeFunc::make(domain, range);
 946 }
 947 










































 948 
 949 
 950 //------------- Interpreter state access for on stack replacement
 951 const TypeFunc* OptoRuntime::osr_end_Type() {
 952   // create input type (domain)
 953   const Type **fields = TypeTuple::fields(1);
 954   fields[TypeFunc::Parms+0] = TypeRawPtr::BOTTOM; // OSR temp buf
 955   const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms+1, fields);
 956 
 957   // create result type
 958   fields = TypeTuple::fields(1);
 959   // fields[TypeFunc::Parms+0] = TypeInstPtr::NOTNULL; // locked oop
 960   fields[TypeFunc::Parms+0] = NULL; // void
 961   const TypeTuple *range = TypeTuple::make(TypeFunc::Parms, fields);
 962   return TypeFunc::make(domain, range);
 963 }
 964 
 965 //-------------- methodData update helpers
 966 
 967 const TypeFunc* OptoRuntime::profile_receiver_type_Type() {




 928   int num_args      = 6;
 929   int argcnt = num_args;
 930   const Type** fields = TypeTuple::fields(argcnt);
 931   int argp = TypeFunc::Parms;
 932   fields[argp++] = TypePtr::NOTNULL;    // x
 933   fields[argp++] = TypeInt::INT;        // xlen
 934   fields[argp++] = TypePtr::NOTNULL;    // y
 935   fields[argp++] = TypeInt::INT;        // ylen
 936   fields[argp++] = TypePtr::NOTNULL;    // z
 937   fields[argp++] = TypeInt::INT;        // zlen
 938   assert(argp == TypeFunc::Parms+argcnt, "correct decoding");
 939   const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
 940 
 941   // no result type needed
 942   fields = TypeTuple::fields(1);
 943   fields[TypeFunc::Parms+0] = NULL;
 944   const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields);
 945   return TypeFunc::make(domain, range);
 946 }
 947 
 948 const TypeFunc* OptoRuntime::squareToLen_Type() {
 949   // create input type (domain)
 950   int num_args      = 4;
 951   int argcnt = num_args;
 952   const Type** fields = TypeTuple::fields(argcnt);
 953   int argp = TypeFunc::Parms;
 954   fields[argp++] = TypePtr::NOTNULL;    // x
 955   fields[argp++] = TypeInt::INT;        // len
 956   fields[argp++] = TypePtr::NOTNULL;    // z
 957   fields[argp++] = TypeInt::INT;        // zlen
 958   assert(argp == TypeFunc::Parms+argcnt, "correct decoding");
 959   const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
 960 
 961   // no result type needed
 962   fields = TypeTuple::fields(1);
 963   fields[TypeFunc::Parms+0] = NULL;
 964   const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields);
 965   return TypeFunc::make(domain, range);
 966 }
 967 
 968 // for mulAdd calls, 2 pointers and 3 ints, returning int
 969 const TypeFunc* OptoRuntime::mulAdd_Type() {
 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() {


hotspot/src/share/vm/opto/runtime.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File