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 }