comparison graal/com.oracle.jvmci.meta/src/com/oracle/jvmci/meta/Signature.java @ 21567:f41409c6ff26

Do not rely on single/double slot information from the Kind of the value in a local variable or expression stack entry. With word type rewriting during parsing, long values can be single slot values when they are rewritten from Object values.
author Christian Wimmer <christian.wimmer@oracle.com>
date Thu, 28 May 2015 17:00:59 -0700
parents 48c1ebd24120
children
comparison
equal deleted inserted replaced
21566:1de4d7e69f85 21567:f41409c6ff26
117 for (int j = 0; j < args; j++) { 117 for (int j = 0; j < args; j++) {
118 result[i + j] = getParameterType(j, null); 118 result[i + j] = getParameterType(j, null);
119 } 119 }
120 return result; 120 return result;
121 } 121 }
122
123 default Kind[] toParameterKinds(boolean receiver) {
124 int args = getParameterCount(false);
125 Kind[] result;
126 int i = 0;
127 if (receiver) {
128 result = new Kind[args + 1];
129 result[0] = Kind.Object;
130 i = 1;
131 } else {
132 result = new Kind[args];
133 }
134 for (int j = 0; j < args; j++) {
135 result[i + j] = getParameterKind(j);
136 }
137 return result;
138 }
122 } 139 }