Mercurial > hg > graal-compiler
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 } |