Mercurial > hg > graal-compiler
comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/SpecializationGroup.java @ 13527:25ecb47a6d0e
Truffle-DSL: Added support for references to child arrays in @ShortCircuit;
Introduced new layer NodeExecutionData to the implementation model which is in between NodeChildData and the actual parameters..
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Tue, 07 Jan 2014 12:22:47 +0100 |
parents | 85dcc7f59c34 |
children | bd28da642eea |
comparison
equal
deleted
inserted
replaced
13483:37ec2cabf397 | 13527:25ecb47a6d0e |
---|---|
26 | 26 |
27 import javax.lang.model.type.*; | 27 import javax.lang.model.type.*; |
28 | 28 |
29 import com.oracle.truffle.dsl.processor.*; | 29 import com.oracle.truffle.dsl.processor.*; |
30 import com.oracle.truffle.dsl.processor.template.*; | 30 import com.oracle.truffle.dsl.processor.template.*; |
31 import com.oracle.truffle.dsl.processor.template.TemplateMethod.Signature; | 31 import com.oracle.truffle.dsl.processor.template.TemplateMethod.TypeSignature; |
32 import com.oracle.truffle.dsl.processor.typesystem.*; | 32 import com.oracle.truffle.dsl.processor.typesystem.*; |
33 | 33 |
34 /** | 34 /** |
35 * Class creates groups of specializations to optimize the layout of generated executeAndSpecialize | 35 * Class creates groups of specializations to optimize the layout of generated executeAndSpecialize |
36 * and generic execute methods. | 36 * and generic execute methods. |
53 this.typeGuards = new ArrayList<>(); | 53 this.typeGuards = new ArrayList<>(); |
54 this.guards = new ArrayList<>(); | 54 this.guards = new ArrayList<>(); |
55 this.specialization = data; | 55 this.specialization = data; |
56 | 56 |
57 this.assumptions.addAll(data.getAssumptions()); | 57 this.assumptions.addAll(data.getAssumptions()); |
58 Signature sig = data.getSignature(); | 58 TypeSignature sig = data.getTypeSignature(); |
59 for (int i = 1; i < sig.size(); i++) { | 59 for (int i = 1; i < sig.size(); i++) { |
60 typeGuards.add(new TypeGuard(sig.get(i), i - 1)); | 60 typeGuards.add(new TypeGuard(sig.get(i), i - 1)); |
61 } | 61 } |
62 this.guards.addAll(data.getGuards()); | 62 this.guards.addAll(data.getGuards()); |
63 } | 63 } |