comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java @ 20005:1671d9111c47

Truffle-DSL: fixed wrong type for implicit type cast elimination.
author Christian Humer <christian.humer@gmail.com>
date Mon, 23 Mar 2015 20:04:55 +0100
parents e773cc48d3e8
children 18c0f02fa4d2
comparison
equal deleted inserted replaced
20004:220c494e5088 20005:1671d9111c47
2116 List<ExecutableTypeData> executableTypes = resolveSpecializedExecutables(execution, sourceTypes, options.implicitTypeBoxingOptimization()); 2116 List<ExecutableTypeData> executableTypes = resolveSpecializedExecutables(execution, sourceTypes, options.implicitTypeBoxingOptimization());
2117 2117
2118 boolean elseIf = false; 2118 boolean elseIf = false;
2119 for (ExecutableTypeData executableType : executableTypes) { 2119 for (ExecutableTypeData executableType : executableTypes) {
2120 elseIf = builder.startIf(elseIf); 2120 elseIf = builder.startIf(elseIf);
2121 builder.string(implicitClassFieldName).string(" == ").typeLiteral(executableType.getType().getBoxedType()); 2121 builder.string(implicitClassFieldName).string(" == ").typeLiteral(executableType.getType().getPrimitiveType());
2122 builder.end(); 2122 builder.end();
2123 builder.startBlock(); 2123 builder.startBlock();
2124 builder.startStatement().tree(assignment); 2124 builder.startStatement().tree(assignment);
2125 2125
2126 CodeTree execute = callTemplateMethod(accessParent(nodeFieldName), executableType, currentValues); 2126 CodeTree execute = callTemplateMethod(accessParent(nodeFieldName), executableType, currentValues);