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();