Mercurial > hg > graal-compiler
comparison graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java @ 8661:e0ff5cf358a4
Fixed when specializing nodes must always call the full generic case.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Sat, 06 Apr 2013 14:33:39 +0200 |
parents | 8a1115c92271 |
children | 5eeade940236 |
comparison
equal
deleted
inserted
replaced
8644:586b5e117c44 | 8661:e0ff5cf358a4 |
---|---|
1474 addInternalValueParameterNames(builder, specialization.getNode().getGenericSpecialization(), null, true, true); | 1474 addInternalValueParameterNames(builder, specialization.getNode().getGenericSpecialization(), null, true, true); |
1475 builder.end(); | 1475 builder.end(); |
1476 builder.end(); // call replace | 1476 builder.end(); // call replace |
1477 builder.end(); // statement | 1477 builder.end(); // statement |
1478 | 1478 |
1479 String generatedMethodName = generatedGenericMethodName(specialization.findNextSpecialization()); | 1479 String generatedMethodName; |
1480 if (specialization.getNode().getGenericSpecialization().isUseSpecializationsForGeneric()) { | |
1481 generatedMethodName = generatedGenericMethodName(null); | |
1482 } else { | |
1483 generatedMethodName = generatedGenericMethodName(specialization.findNextSpecialization()); | |
1484 } | |
1480 ExecutableElement generatedGeneric = clazz.getEnclosingClass().getMethod(generatedMethodName); | 1485 ExecutableElement generatedGeneric = clazz.getEnclosingClass().getMethod(generatedMethodName); |
1481 | 1486 |
1482 CodeTreeBuilder genericExecute = CodeTreeBuilder.createBuilder(); | 1487 CodeTreeBuilder genericExecute = CodeTreeBuilder.createBuilder(); |
1483 genericExecute.startCall(factoryClassName(specialization.getNode()), generatedMethodName); | 1488 genericExecute.startCall(factoryClassName(specialization.getNode()), generatedMethodName); |
1484 genericExecute.string("this"); | 1489 genericExecute.string("this"); |