src/share/vm/opto/runtime.cpp

changeset 9756
2be326848943
parent 9572
624a0741915c
parent 9713
c4567d28f31f
child 9806
758c07667682
equal deleted inserted replaced
9707:b87dc103bf45 9756:2be326848943
1 /* 1 /*
2 * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
936 */ 936 */
937 const TypeFunc* OptoRuntime::digestBase_implCompressMB_Type() { 937 const TypeFunc* OptoRuntime::digestBase_implCompressMB_Type() {
938 // create input type (domain) 938 // create input type (domain)
939 int num_args = 4; 939 int num_args = 4;
940 int argcnt = num_args; 940 int argcnt = num_args;
941 if(CCallingConventionRequiresIntsAsLongs) {
942 argcnt += 2;
943 }
941 const Type** fields = TypeTuple::fields(argcnt); 944 const Type** fields = TypeTuple::fields(argcnt);
942 int argp = TypeFunc::Parms; 945 int argp = TypeFunc::Parms;
943 fields[argp++] = TypePtr::NOTNULL; // buf 946 if(CCallingConventionRequiresIntsAsLongs) {
944 fields[argp++] = TypePtr::NOTNULL; // state 947 fields[argp++] = TypePtr::NOTNULL; // buf
945 fields[argp++] = TypeInt::INT; // ofs 948 fields[argp++] = TypePtr::NOTNULL; // state
946 fields[argp++] = TypeInt::INT; // limit 949 fields[argp++] = TypeLong::LONG; // ofs
950 fields[argp++] = Type::HALF;
951 fields[argp++] = TypeLong::LONG; // limit
952 fields[argp++] = Type::HALF;
953 } else {
954 fields[argp++] = TypePtr::NOTNULL; // buf
955 fields[argp++] = TypePtr::NOTNULL; // state
956 fields[argp++] = TypeInt::INT; // ofs
957 fields[argp++] = TypeInt::INT; // limit
958 }
947 assert(argp == TypeFunc::Parms+argcnt, "correct decoding"); 959 assert(argp == TypeFunc::Parms+argcnt, "correct decoding");
948 const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields); 960 const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
949 961
950 // returning ofs (int) 962 // returning ofs (int)
951 fields = TypeTuple::fields(1); 963 fields = TypeTuple::fields(1);

mercurial