Mercurial > hg > truffle
comparison truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/Accessor.java @ 22386:086776aa7548
Caching Source -> CallTarget mapping per PolyglotEngine.Language
author | Jaroslav Tulach <jaroslav.tulach@oracle.com> |
---|---|
date | Thu, 19 Nov 2015 09:40:21 +0100 |
parents | 299c279c87b3 |
children | 5692953272eb |
comparison
equal
deleted
inserted
replaced
22385:0e86a9f324bf | 22386:086776aa7548 |
---|---|
47 import com.oracle.truffle.api.instrument.Visualizer; | 47 import com.oracle.truffle.api.instrument.Visualizer; |
48 import com.oracle.truffle.api.instrument.WrapperNode; | 48 import com.oracle.truffle.api.instrument.WrapperNode; |
49 import com.oracle.truffle.api.nodes.Node; | 49 import com.oracle.truffle.api.nodes.Node; |
50 import com.oracle.truffle.api.nodes.RootNode; | 50 import com.oracle.truffle.api.nodes.RootNode; |
51 import com.oracle.truffle.api.source.Source; | 51 import com.oracle.truffle.api.source.Source; |
52 import java.util.Map; | |
52 | 53 |
53 /** | 54 /** |
54 * Communication between PolyglotEngine, TruffleLanguage API/SPI, and other services. | 55 * Communication between PolyglotEngine, TruffleLanguage API/SPI, and other services. |
55 */ | 56 */ |
56 public abstract class Accessor { | 57 public abstract class Accessor { |
151 | 152 |
152 protected Env attachEnv(Object vm, TruffleLanguage<?> language, OutputStream stdOut, OutputStream stdErr, InputStream stdIn, Instrumenter instrumenter) { | 153 protected Env attachEnv(Object vm, TruffleLanguage<?> language, OutputStream stdOut, OutputStream stdErr, InputStream stdIn, Instrumenter instrumenter) { |
153 return API.attachEnv(vm, language, stdOut, stdErr, stdIn, instrumenter); | 154 return API.attachEnv(vm, language, stdOut, stdErr, stdIn, instrumenter); |
154 } | 155 } |
155 | 156 |
156 protected Object eval(TruffleLanguage<?> l, Source s) throws IOException { | 157 protected Object eval(TruffleLanguage<?> l, Source s, Map<Source, CallTarget> cache) throws IOException { |
157 return API.eval(l, s); | 158 return API.eval(l, s, cache); |
158 } | 159 } |
159 | 160 |
160 protected Object evalInContext(Object vm, SuspendedEvent ev, String code, FrameInstance frame) throws IOException { | 161 protected Object evalInContext(Object vm, SuspendedEvent ev, String code, FrameInstance frame) throws IOException { |
161 return API.evalInContext(vm, ev, code, frame); | 162 return API.evalInContext(vm, ev, code, frame); |
162 } | 163 } |