comparison graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Instrumentable.java @ 16962:f0c3de09f12a

Merge with e01b0b9a5f886f8810ba09668632acd675cccf76
author Michael Van De Vanter <michael.van.de.vanter@oracle.com>
date Tue, 26 Aug 2014 19:57:25 -0700
parents a1427e40deaf 997899955e72
children
comparison
equal deleted inserted replaced
16961:a1427e40deaf 16962:f0c3de09f12a
22 * or visit www.oracle.com if you need additional information or have any 22 * or visit www.oracle.com if you need additional information or have any
23 * questions. 23 * questions.
24 */ 24 */
25 package com.oracle.truffle.api.instrument; 25 package com.oracle.truffle.api.instrument;
26 26
27 import com.oracle.truffle.api.*;
28
29 /** 27 /**
30 * Any Truffle node implementing this interface can be "instrumented" by installing a {@link Probe} 28 * Any Truffle node implementing this interface can be "instrumented" by installing a {@link Probe}
31 * that intercepts {@link ExecutionEvents} at the node and routes them to any {@link Instrument}s 29 * that intercepts {@link ExecutionEvents} at the node and routes them to any {@link Instrument}s
32 * that have been attached to the {@link Probe}. Only one {@link Probe} may be installed at each 30 * that have been attached to the {@link Probe}. Only one {@link Probe} may be installed at each
33 * node; subsequent calls return the one already installed. 31 * node; subsequent calls return the one already installed.
37 /** 35 /**
38 * Enables "instrumentation" of this Truffle node by tools, where this node is presumed to be 36 * Enables "instrumentation" of this Truffle node by tools, where this node is presumed to be
39 * part (and not the root of) of a well-formed Truffle AST that is not being executed. The AST 37 * part (and not the root of) of a well-formed Truffle AST that is not being executed. The AST
40 * may be modified. 38 * may be modified.
41 * 39 *
42 * @param context access to language implementation context 40 * @return The probe that was created.
43 * @return a {@link Probe} to which tools may attach {@link Instrument}s that will receive
44 * {@link ExecutionEvents}
45 */ 41 */
46 public Probe probe(ExecutionContext context); 42 Probe probe();
47 } 43 }