Mercurial > hg > graal-jvmci-8
comparison graal/GraalCompiler/src/com/sun/c1x/value/FrameStateBuilder.java @ 2834:bfce42cd9c07
Graph duplication now passes all tests
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Tue, 31 May 2011 13:34:52 +0200 |
parents | 015be60afcf3 |
children | 75e0d39833a0 |
comparison
equal
deleted
inserted
replaced
2829:27c00b180416 | 2834:bfce42cd9c07 |
---|---|
52 int javaIndex = 0; | 52 int javaIndex = 0; |
53 int index = 0; | 53 int index = 0; |
54 if (!isStatic(method.accessFlags())) { | 54 if (!isStatic(method.accessFlags())) { |
55 // add the receiver and assume it is non null | 55 // add the receiver and assume it is non null |
56 Local local = new Local(method.holder().kind(), javaIndex, graph); | 56 Local local = new Local(method.holder().kind(), javaIndex, graph); |
57 local.inputs().set(0, graph.start()); | |
57 local.setNonNull(true); | 58 local.setNonNull(true); |
58 local.setDeclaredType(method.holder()); | 59 local.setDeclaredType(method.holder()); |
59 storeLocal(javaIndex, local); | 60 storeLocal(javaIndex, local); |
60 javaIndex = 1; | 61 javaIndex = 1; |
61 index = 1; | 62 index = 1; |
65 RiType accessingClass = method.holder(); | 66 RiType accessingClass = method.holder(); |
66 for (int i = 0; i < max; i++) { | 67 for (int i = 0; i < max; i++) { |
67 RiType type = sig.argumentTypeAt(i, accessingClass); | 68 RiType type = sig.argumentTypeAt(i, accessingClass); |
68 CiKind kind = type.kind().stackKind(); | 69 CiKind kind = type.kind().stackKind(); |
69 Local local = new Local(kind, index, graph); | 70 Local local = new Local(kind, index, graph); |
71 local.inputs().set(0, graph.start()); | |
70 if (type.isResolved()) { | 72 if (type.isResolved()) { |
71 local.setDeclaredType(type); | 73 local.setDeclaredType(type); |
72 } | 74 } |
73 storeLocal(javaIndex, local); | 75 storeLocal(javaIndex, local); |
74 javaIndex += kind.sizeInSlots(); | 76 javaIndex += kind.sizeInSlots(); |