Mercurial > hg > graal-compiler
comparison graal/com.oracle.truffle.api/src/com/oracle/truffle/api/ExecutionContext.java @ 15279:0c6d8a08e31b
Truffle: Major cleanup and extension of the Truffle Instrumentation framework in com.oracle.truffle.api
author | Michael Van De Vanter <michael.van.de.vanter@oracle.com> |
---|---|
date | Sun, 20 Apr 2014 20:37:27 -0700 |
parents | 3f27e57439ed |
children | be0c151d912b |
comparison
equal
deleted
inserted
replaced
14862:0e713dba33bb | 15279:0c6d8a08e31b |
---|---|
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; | 25 package com.oracle.truffle.api; |
26 | 26 |
27 import com.oracle.truffle.api.debug.*; | 27 import com.oracle.truffle.api.instrument.*; |
28 import com.oracle.truffle.api.source.*; | 28 import com.oracle.truffle.api.source.*; |
29 | 29 |
30 /** | 30 /** |
31 * Information about the runtime context of a Truffle program. | 31 * Access to information and basic services in the runtime context for a Truffle-implemented guest |
32 * language. | |
32 * <p> | 33 * <p> |
33 * <strong>Disclaimer:</strong> this interface is under development and will change. | 34 * <strong>Disclaimer:</strong> this interface is under development and will change. |
34 */ | 35 */ |
35 public interface ExecutionContext { | 36 public interface ExecutionContext { |
36 | 37 |
44 * Gets access to source management services. | 45 * Gets access to source management services. |
45 */ | 46 */ |
46 SourceManager getSourceManager(); | 47 SourceManager getSourceManager(); |
47 | 48 |
48 /** | 49 /** |
49 * Gets access to debugging services. Returns an inert instance if no services installed. | 50 * Gets access to AST instrumentation services. |
50 */ | 51 */ |
51 DebugContext getDebugContext(); | 52 Instrumentation instrumentation(); |
52 | 53 |
54 /** | |
55 * Access to information visualization services for the specific language. | |
56 */ | |
57 Visualizer visualizer(); | |
58 | |
59 /** | |
60 * Add instrumentation to subsequently constructed Truffle ASTs for the guest language; every | |
61 * one added will have the opportunity to add instrumentation. | |
62 * | |
63 * @throws IllegalArgumentException if prober not usable for the guest language. | |
64 */ | |
65 void addNodeProber(ASTNodeProber nodeProber); | |
53 } | 66 } |