Mercurial > hg > graal-compiler
comparison graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/FrameSlotNode.java @ 9258:07f8d136a05e
Truffle API changes for the Frame API. Introduction of Assumptions class.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Tue, 23 Apr 2013 15:34:06 +0200 |
parents | 5e3d1a68664e |
children | 447465567e6f |
comparison
equal
deleted
inserted
replaced
9257:542712a4732a | 9258:07f8d136a05e |
---|---|
22 */ | 22 */ |
23 package com.oracle.truffle.sl.nodes; | 23 package com.oracle.truffle.sl.nodes; |
24 | 24 |
25 import com.oracle.truffle.api.frame.*; | 25 import com.oracle.truffle.api.frame.*; |
26 | 26 |
27 public abstract class FrameSlotNode extends TypedNode implements FrameSlotTypeListener { | 27 public abstract class FrameSlotNode extends TypedNode { |
28 | 28 |
29 protected final FrameSlot slot; | 29 protected final FrameSlot slot; |
30 | 30 |
31 public FrameSlotNode(FrameSlot slot) { | 31 public FrameSlotNode(FrameSlot slot) { |
32 this.slot = slot; | 32 this.slot = slot; |
33 slot.registerOneShotTypeListener(this); | |
34 } | |
35 | |
36 @Override | |
37 public void typeChanged(FrameSlot changedSlot, Class<?> oldType) { | |
38 if (getParent() != null) { | |
39 replace(specialize(changedSlot.getType())); | |
40 } | |
41 } | 33 } |
42 | 34 |
43 protected abstract FrameSlotNode specialize(Class<?> clazz); | 35 protected abstract FrameSlotNode specialize(Class<?> clazz); |
44 } | 36 } |