Mercurial > hg > truffle
comparison truffle/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/package-info.java @ 22003:5bc7f7b867ab
Making debugger always on for each TruffleVM execution. Introducing EventConsumer to process such debugger events. Requesting each RootNode to be associated with a TruffleLanguage, so debugger can find out proper context for each Node where executions gets suspended.
author | Jaroslav Tulach <jaroslav.tulach@oracle.com> |
---|---|
date | Sat, 18 Jul 2015 18:03:36 +0200 |
parents | ff6f34159b8a |
children | 11e0412c5b0e |
comparison
equal
deleted
inserted
replaced
22002:324997830dc9 | 22003:5bc7f7b867ab |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. DO NOT ALTER OR |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it under the terms of the GNU |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * General Public License version 2 only, as published by the Free Software Foundation. |
7 * published by the Free Software Foundation. | |
8 * | 7 * |
9 * This code is distributed in the hope that it will be useful, but WITHOUT | 8 * This code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without |
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | 9 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | 10 * General Public License version 2 for more details (a copy is included in the LICENSE file that |
12 * version 2 for more details (a copy is included in the LICENSE file that | |
13 * accompanied this code). | 11 * accompanied this code). |
14 * | 12 * |
15 * You should have received a copy of the GNU General Public License version | 13 * You should have received a copy of the GNU General Public License version 2 along with this work; |
16 * 2 along with this work; if not, write to the Free Software Foundation, | 14 * if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA |
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | 15 * 02110-1301 USA. |
18 * | 16 * |
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | 17 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA or visit www.oracle.com |
20 * or visit www.oracle.com if you need additional information or have any | 18 * if you need additional information or have any questions. |
21 * questions. | |
22 */ | 19 */ |
23 /** | 20 /** |
24 * <p>This package contains basic tests of the Truffle API and serves at the same | 21 * <p> |
25 * time as an introduction to the Truffle API for language implementors. Every test gives an example on how to use the construct explained in the class description.</p> | 22 * This package contains basic tests of the Truffle API and serves at the same time as an |
23 * introduction to the Truffle API for language implementors. Every test gives an example on how to | |
24 * use the construct explained in the class description. | |
25 * </p> | |
26 * | 26 * |
27 * <p> | 27 * <p> |
28 * Truffle is a language implementation framework. A guest language method is represented as a tree of executable nodes. | 28 * Truffle is a language implementation framework. A guest language method is represented as a tree |
29 * The framework provides mechanisms for those trees to call each other. Additionally it contains dedicated data structures for storing data local to a tree invocation. | 29 * of executable nodes. The framework provides mechanisms for those trees to call each other. |
30 * Additionally it contains dedicated data structures for storing data local to a tree invocation. | |
30 * </p> | 31 * </p> |
31 * | 32 * |
32 * <p> | 33 * <p> |
33 * This introduction to Truffle contains items in the following recommended order: | 34 * This introduction to Truffle contains items in the following recommended order: |
34 * | 35 * |
35 * <ul> | 36 * <ul> |
36 * <li>How to get access to the Truffle runtime? {@link com.oracle.truffle.api.test.TruffleRuntimeTest}</li> | 37 * <li>How to get access to the Truffle runtime? |
38 * {@link com.oracle.truffle.api.test.TruffleRuntimeTest}</li> | |
37 * <li>How to create a root node? {@link com.oracle.truffle.api.test.RootNodeTest}</li> | 39 * <li>How to create a root node? {@link com.oracle.truffle.api.test.RootNodeTest}</li> |
38 * <li>How to create a child node and link it with its parent? {@link com.oracle.truffle.api.test.ChildNodeTest}</li> | 40 * <li>How to create a child node and link it with its parent? |
39 * <li>How to create an array of child nodes? {@link com.oracle.truffle.api.test.ChildrenNodesTest}</li> | 41 * {@link com.oracle.truffle.api.test.ChildNodeTest}</li> |
40 * <li>Why are final fields in node classes important? {@link com.oracle.truffle.api.test.FinalFieldTest}</li> | 42 * <li>How to create an array of child nodes? {@link com.oracle.truffle.api.test.ChildrenNodesTest} |
41 * <li>How to replace one node with another node and what for? {@link com.oracle.truffle.api.test.ReplaceTest}</li> | 43 * </li> |
42 * <li>How to let one Truffle tree invoke another one? {@link com.oracle.truffle.api.test.CallTest}</li> | 44 * <li>Why are final fields in node classes important? |
43 * <li>How to pass arguments when executing a tree? {@link com.oracle.truffle.api.test.ArgumentsTest}</li> | 45 * {@link com.oracle.truffle.api.test.FinalFieldTest}</li> |
44 * <li>How to use frames and frame slots to store values local to an activation? {@link com.oracle.truffle.api.test.FrameTest}</li> | 46 * <li>How to replace one node with another node and what for? |
45 * <li>How to use type specialization and speculation for frame slots? {@link com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest}</li> | 47 * {@link com.oracle.truffle.api.test.ReplaceTest}</li> |
46 * <li>How to use type specialization and speculation for node return values? {@link com.oracle.truffle.api.test.ReturnTypeSpecializationTest}</li> | 48 * <li>How to let one Truffle tree invoke another one? {@link com.oracle.truffle.api.test.CallTest} |
47 * <li>How to "instrument" an AST with nodes that can provide access to runtime state from external tools {@code com.oracle.truffle.api.test.instrument.InstrumentationTest}</li> | 49 * </li> |
50 * <li>How to pass arguments when executing a tree? | |
51 * {@link com.oracle.truffle.api.test.ArgumentsTest}</li> | |
52 * <li>How to use frames and frame slots to store values local to an activation? | |
53 * {@link com.oracle.truffle.api.test.FrameTest}</li> | |
54 * <li>How to use type specialization and speculation for frame slots? | |
55 * {@link com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest}</li> | |
56 * <li>How to use type specialization and speculation for node return values? | |
57 * {@link com.oracle.truffle.api.test.ReturnTypeSpecializationTest}</li> | |
58 * <li>How to "instrument" an AST with nodes that can provide access to runtime state from external | |
59 * tools {@code com.oracle.truffle.api.test.instrument.InstrumentationTest}</li> | |
48 * </ul> | 60 * </ul> |
49 * | 61 * |
50 * | 62 * |
51 */ | 63 */ |
52 package com.oracle.truffle.api.test; | 64 package com.oracle.truffle.api.test; |