Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/AdvancedInstrumentResultListener.java @ 21355:442b57a7f208
Truffle/Instrumentation: change the signature for creation of Advanced instruments, refactor how the callback listener is managed.
author | Michael Van De Vanter <michael.van.de.vanter@oracle.com> |
---|---|
date | Tue, 12 May 2015 16:06:00 -0700 |
parents | 575032310b2c |
children | e34bc00733d1 |
comparison
equal
deleted
inserted
replaced
21354:575032310b2c | 21355:442b57a7f208 |
---|---|
29 import com.oracle.truffle.api.nodes.*; | 29 import com.oracle.truffle.api.nodes.*; |
30 | 30 |
31 /** | 31 /** |
32 * Listener for receiving the result a client-provided {@linkplain AdvancedInstrumentRoot AST | 32 * Listener for receiving the result a client-provided {@linkplain AdvancedInstrumentRoot AST |
33 * fragment}, when executed by a | 33 * fragment}, when executed by a |
34 * {@linkplain Instrument#create(AdvancedInstrumentRootFactory, String) Advanced Instrument}. | 34 * {@linkplain Instrument#create(AdvancedInstrumentResultListener, AdvancedInstrumentRootFactory, String) |
35 * Advanced Instrument}. | |
35 * | 36 * |
36 * @see Instrument | 37 * @see Instrument |
37 * @see AdvancedInstrumentRoot | 38 * @see AdvancedInstrumentRoot |
38 * @see AdvancedInstrumentRootFactory | 39 * @see AdvancedInstrumentRootFactory |
39 */ | 40 */ |
40 public interface AdvancedInstrumentResultListener { | 41 public interface AdvancedInstrumentResultListener { |
41 | 42 |
42 /** | 43 /** |
43 * Notifies listener that a client-provided {@linkplain AdvancedInstrumentRoot AST fragment} has | 44 * Notifies listener that a client-provided {@linkplain AdvancedInstrumentRoot AST fragment} has |
44 * been executed by an {@linkplain Instrument#create(AdvancedInstrumentRootFactory, String) | 45 * been executed by an |
46 * {@linkplain Instrument#create(AdvancedInstrumentResultListener, AdvancedInstrumentRootFactory, String) | |
45 * Advanced Instrument} with the specified result, possibly {@code null}. | 47 * Advanced Instrument} with the specified result, possibly {@code null}. |
46 * <p> | 48 * <p> |
47 * <strong>Note: </strong> Truffle will attempt to optimize implementations through partial | 49 * <strong>Note: </strong> Truffle will attempt to optimize implementations through partial |
48 * evaluation; annotate with {@link TruffleBoundary} if this should not be permitted. | 50 * evaluation; annotate with {@link TruffleBoundary} if this should not be permitted. |
49 * | 51 * |
50 * @param node the guest-language AST node to which the host Instrument's {@link Probe} is | 52 * @param node the guest-language AST node to which the host Instrument's {@link Probe} is |
51 * attached | 53 * attached |
52 * @param vFrame execution frame at the guest-language AST node | 54 * @param vFrame execution frame at the guest-language AST node |
53 * @param result the result of this AST fragment's execution | 55 * @param result the result of this AST fragment's execution |
54 */ | 56 */ |