annotate graal/com.oracle.truffle.api/src/com/oracle/truffle/api/debug/DebugManager.java @ 15159:2ed720ce9273

Truffle: Change CallTarget from an abstract class to an interface. Allow varargs.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Tue, 15 Apr 2014 13:26:26 +0200
parents 64dcb92ee75a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13455
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
1 /*
13567
2f67ba090923 Truffle: extensions to the DebugManager interface in the Instrumentation Framework
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13455
diff changeset
2 * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
13455
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
4 *
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
7 * published by the Free Software Foundation. Oracle designates this
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
8 * particular file as subject to the "Classpath" exception as provided
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
9 * by Oracle in the LICENSE file that accompanied this code.
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
10 *
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
11 * This code is distributed in the hope that it will be useful, but WITHOUT
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
14 * version 2 for more details (a copy is included in the LICENSE file that
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
15 * accompanied this code).
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
16 *
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License version
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
18 * 2 along with this work; if not, write to the Free Software Foundation,
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
20 *
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
22 * or visit www.oracle.com if you need additional information or have any
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
23 * questions.
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
24 */
14094
3f27e57439ed Truffle/Instrumentation: significant rearrangement (including moved class) and extension of the Truffle Instrumentation Framework. New interfaces include DebugContext (which can be attached to the ExecutionContext), through which access is provided to possibly language-specific (a) node instrumentation, (b) debug services manager, (c) notification when programs halt, (d) display of language values, and (e) display of variable identifiers.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13733
diff changeset
25 package com.oracle.truffle.api.debug;
13455
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
26
14094
3f27e57439ed Truffle/Instrumentation: significant rearrangement (including moved class) and extension of the Truffle Instrumentation Framework. New interfaces include DebugContext (which can be attached to the ExecutionContext), through which access is provided to possibly language-specific (a) node instrumentation, (b) debug services manager, (c) notification when programs halt, (d) display of language values, and (e) display of variable identifiers.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13733
diff changeset
27 import com.oracle.truffle.api.*;
13567
2f67ba090923 Truffle: extensions to the DebugManager interface in the Instrumentation Framework
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13455
diff changeset
28 import com.oracle.truffle.api.frame.*;
2f67ba090923 Truffle: extensions to the DebugManager interface in the Instrumentation Framework
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13455
diff changeset
29 import com.oracle.truffle.api.nodes.*;
2f67ba090923 Truffle: extensions to the DebugManager interface in the Instrumentation Framework
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13455
diff changeset
30 import com.oracle.truffle.api.nodes.instrument.*;
13732
fbf448929260 Ruby: remove some prototyping code no longer needed
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13567
diff changeset
31 import com.oracle.truffle.api.nodes.instrument.InstrumentationProbeNode.ProbeChain;
13455
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
32
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
33 /**
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
34 * Language-agnostic access to AST-based debugging support.
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
35 * <p>
13567
2f67ba090923 Truffle: extensions to the DebugManager interface in the Instrumentation Framework
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13455
diff changeset
36 * <strong>Disclaimer:</strong> this interface is under development and will change.
13455
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
37 */
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
38 public interface DebugManager {
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
39
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
40 /**
13733
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
41 * Informs the {@link DebugManager} that the Guest Language runtime is starting to load a
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
42 * source. Care should be taken to ensure that under any circumstance there is always a
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
43 * following call to {@link #notifyFinishedLoading(Source)} with the same argument.
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
44 */
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
45 void notifyStartLoading(Source source);
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
46
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
47 /**
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
48 * Informs the {@link DebugManager} that the Guest Language runtime has finished loading a
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
49 * source. Care should be taken to ensure that under any circumstance there is always a prior
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
50 * call to {@link #notifyStartLoading(Source)} with the same argument.
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
51 */
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
52 void notifyFinishedLoading(Source source);
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
53
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
54 /**
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
55 * Return a reference to the (canonical) instrumentation site associated with a particular
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
56 * source code location; this site will have effect on any Truffle/AST implementation
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
57 * corresponding to the source location, even if the AST is copied multiple times.
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
58 */
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
59 ProbeChain getProbeChain(SourceSection sourceSection);
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
60
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
61 /**
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
62 * Informs the {@link DebugManager} that Truffle execution has halted; execution will resume
4d47e9c0df23 Truffle/Instrumentation: Javadoc and cleanup
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13732
diff changeset
63 * when this method returns.
13567
2f67ba090923 Truffle: extensions to the DebugManager interface in the Instrumentation Framework
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13455
diff changeset
64 *
2f67ba090923 Truffle: extensions to the DebugManager interface in the Instrumentation Framework
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13455
diff changeset
65 * @param astNode a guest language AST node that represents the current execution site, assumed
2f67ba090923 Truffle: extensions to the DebugManager interface in the Instrumentation Framework
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13455
diff changeset
66 * not to be any kind of {@link InstrumentationNode},
2f67ba090923 Truffle: extensions to the DebugManager interface in the Instrumentation Framework
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13455
diff changeset
67 * @param frame execution frame at the site where execution suspended
2f67ba090923 Truffle: extensions to the DebugManager interface in the Instrumentation Framework
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13455
diff changeset
68 */
14991
64dcb92ee75a Truffle: Change signature for Truffle calls from (PackedFrame, Arguments) to (Object[]).
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 14094
diff changeset
69 void haltedAt(Node astNode, MaterializedFrame frame);
13567
2f67ba090923 Truffle: extensions to the DebugManager interface in the Instrumentation Framework
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents: 13455
diff changeset
70
13455
69d2e4baa215 Truffle: new infrastructure related to instrumentation, and in particular debugging: support for managing Source objects; framework for generalized "instrumentation proxy nodes" (to be inserted into ASTs with no runtime cost when inactive), and "probes" (which can be attached to proxy nodes to receive event notification); a rudimentary interface and abstract implementation for a "debug manager" (mostly a placeholder at this point); and the beginning of a language-agnostic ExecutionContext interface.
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
diff changeset
71 }