annotate truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/Truffle.java @ 22157:dc83cc1f94f2

Using fully qualified imports
author Jaroslav Tulach <jaroslav.tulach@oracle.com>
date Wed, 16 Sep 2015 11:33:22 +0200
parents 8b72dfac5cc7
children 9c108011f794
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7267
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
1 /*
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
2 * Copyright (c) 2012, 2012, Oracle and/or its affiliates. All rights reserved.
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
4 *
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
11279
494b818b527c Adding "Classpath" exception to the classes in the com.oracle.truffle.api and the com.oracle.truffle.api.dsl package.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 7267
diff changeset
7 * published by the Free Software Foundation. Oracle designates this
494b818b527c Adding "Classpath" exception to the classes in the com.oracle.truffle.api and the com.oracle.truffle.api.dsl package.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 7267
diff changeset
8 * particular file as subject to the "Classpath" exception as provided
494b818b527c Adding "Classpath" exception to the classes in the com.oracle.truffle.api and the com.oracle.truffle.api.dsl package.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 7267
diff changeset
9 * by Oracle in the LICENSE file that accompanied this code.
7267
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
10 *
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
11 * This code is distributed in the hope that it will be useful, but WITHOUT
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
14 * version 2 for more details (a copy is included in the LICENSE file that
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
15 * accompanied this code).
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
16 *
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License version
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
18 * 2 along with this work; if not, write to the Free Software Foundation,
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
20 *
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
22 * or visit www.oracle.com if you need additional information or have any
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
23 * questions.
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
24 */
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
25 package com.oracle.truffle.api;
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
26
22157
dc83cc1f94f2 Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents: 22111
diff changeset
27 import com.oracle.truffle.api.impl.DefaultTruffleRuntime;
dc83cc1f94f2 Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents: 22111
diff changeset
28 import java.lang.reflect.Method;
dc83cc1f94f2 Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents: 22111
diff changeset
29 import java.security.AccessController;
dc83cc1f94f2 Using fully qualified imports
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents: 22111
diff changeset
30 import java.security.PrivilegedAction;
7267
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
31
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
32 /**
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
33 * Class for obtaining the Truffle runtime singleton object of this virtual machine.
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
34 */
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
35 public class Truffle {
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
36
16779
e52ad0d3b7d6 put some security sensitive actions into a privileged action
Doug Simon <doug.simon@oracle.com>
parents: 15603
diff changeset
37 private static final TruffleRuntime RUNTIME = initRuntime();
7267
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
38
15603
b7fb36e57da8 made Graal initialization be driven from Java to simplify sequencing and synchronization
Doug Simon <doug.simon@oracle.com>
parents: 13331
diff changeset
39 /**
21614
2f92172fa320 Truffle and NFI implementations are now accessed via JVMCI services instead of being hard coded in the VM (JBS:GRAAL-51)
Doug Simon <doug.simon@oracle.com>
parents: 18961
diff changeset
40 * Gets the singleton {@link TruffleRuntime} object.
15603
b7fb36e57da8 made Graal initialization be driven from Java to simplify sequencing and synchronization
Doug Simon <doug.simon@oracle.com>
parents: 13331
diff changeset
41 */
7267
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
42 public static TruffleRuntime getRuntime() {
13331
51b2999299bc make TruffleRuntime field final
Andreas Woess <andreas.woess@jku.at>
parents: 11279
diff changeset
43 return RUNTIME;
7267
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
44 }
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
45
16779
e52ad0d3b7d6 put some security sensitive actions into a privileged action
Doug Simon <doug.simon@oracle.com>
parents: 15603
diff changeset
46 private static TruffleRuntime initRuntime() {
21614
2f92172fa320 Truffle and NFI implementations are now accessed via JVMCI services instead of being hard coded in the VM (JBS:GRAAL-51)
Doug Simon <doug.simon@oracle.com>
parents: 18961
diff changeset
47 return AccessController.doPrivileged(new PrivilegedAction<TruffleRuntime>() {
2f92172fa320 Truffle and NFI implementations are now accessed via JVMCI services instead of being hard coded in the VM (JBS:GRAAL-51)
Doug Simon <doug.simon@oracle.com>
parents: 18961
diff changeset
48 public TruffleRuntime run() {
22111
8b72dfac5cc7 Allow selecting the TruffleRuntime using a system property
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21963
diff changeset
49 String runtimeClassName = System.getProperty("truffle.TruffleRuntime");
8b72dfac5cc7 Allow selecting the TruffleRuntime using a system property
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21963
diff changeset
50 if (runtimeClassName != null) {
8b72dfac5cc7 Allow selecting the TruffleRuntime using a system property
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21963
diff changeset
51 try {
8b72dfac5cc7 Allow selecting the TruffleRuntime using a system property
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21963
diff changeset
52 ClassLoader cl = Thread.currentThread().getContextClassLoader();
8b72dfac5cc7 Allow selecting the TruffleRuntime using a system property
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21963
diff changeset
53 Class<?> runtimeClass = Class.forName(runtimeClassName, false, cl);
8b72dfac5cc7 Allow selecting the TruffleRuntime using a system property
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21963
diff changeset
54 return (TruffleRuntime) runtimeClass.newInstance();
8b72dfac5cc7 Allow selecting the TruffleRuntime using a system property
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21963
diff changeset
55 } catch (Throwable e) {
8b72dfac5cc7 Allow selecting the TruffleRuntime using a system property
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21963
diff changeset
56 // Fail fast for other errors
8b72dfac5cc7 Allow selecting the TruffleRuntime using a system property
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21963
diff changeset
57 throw (InternalError) new InternalError().initCause(e);
8b72dfac5cc7 Allow selecting the TruffleRuntime using a system property
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21963
diff changeset
58 }
8b72dfac5cc7 Allow selecting the TruffleRuntime using a system property
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21963
diff changeset
59 }
8b72dfac5cc7 Allow selecting the TruffleRuntime using a system property
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21963
diff changeset
60
21668
ffe693cc427f (re)add support for executing Truffle in non-JVMCI runtimes
Doug Simon <doug.simon@oracle.com>
parents: 21614
diff changeset
61 TruffleRuntimeAccess access = null;
21887
543f150e7fa0 com.oracle.jvmci.service.Service is now a marker for service implementations available via JVMCI; removed Truffle -> JVMCI dependency
Doug Simon <doug.simon@oracle.com>
parents: 21668
diff changeset
62 Class<?> servicesClass = null;
21668
ffe693cc427f (re)add support for executing Truffle in non-JVMCI runtimes
Doug Simon <doug.simon@oracle.com>
parents: 21614
diff changeset
63 try {
21963
d5d416ced577 fix jvmci package name after renaming
Andreas Woess <andreas.woess@oracle.com>
parents: 21959
diff changeset
64 servicesClass = Class.forName("jdk.internal.jvmci.service.Services");
21887
543f150e7fa0 com.oracle.jvmci.service.Service is now a marker for service implementations available via JVMCI; removed Truffle -> JVMCI dependency
Doug Simon <doug.simon@oracle.com>
parents: 21668
diff changeset
65 } catch (ClassNotFoundException e) {
21963
d5d416ced577 fix jvmci package name after renaming
Andreas Woess <andreas.woess@oracle.com>
parents: 21959
diff changeset
66 }
d5d416ced577 fix jvmci package name after renaming
Andreas Woess <andreas.woess@oracle.com>
parents: 21959
diff changeset
67 if (servicesClass == null) {
d5d416ced577 fix jvmci package name after renaming
Andreas Woess <andreas.woess@oracle.com>
parents: 21959
diff changeset
68 try {
d5d416ced577 fix jvmci package name after renaming
Andreas Woess <andreas.woess@oracle.com>
parents: 21959
diff changeset
69 servicesClass = Class.forName("com.oracle.jvmci.service.Services");
d5d416ced577 fix jvmci package name after renaming
Andreas Woess <andreas.woess@oracle.com>
parents: 21959
diff changeset
70 } catch (ClassNotFoundException e) {
d5d416ced577 fix jvmci package name after renaming
Andreas Woess <andreas.woess@oracle.com>
parents: 21959
diff changeset
71 // JVMCI is unavailable
d5d416ced577 fix jvmci package name after renaming
Andreas Woess <andreas.woess@oracle.com>
parents: 21959
diff changeset
72 }
21668
ffe693cc427f (re)add support for executing Truffle in non-JVMCI runtimes
Doug Simon <doug.simon@oracle.com>
parents: 21614
diff changeset
73 }
21887
543f150e7fa0 com.oracle.jvmci.service.Service is now a marker for service implementations available via JVMCI; removed Truffle -> JVMCI dependency
Doug Simon <doug.simon@oracle.com>
parents: 21668
diff changeset
74 if (servicesClass != null) {
543f150e7fa0 com.oracle.jvmci.service.Service is now a marker for service implementations available via JVMCI; removed Truffle -> JVMCI dependency
Doug Simon <doug.simon@oracle.com>
parents: 21668
diff changeset
75 try {
543f150e7fa0 com.oracle.jvmci.service.Service is now a marker for service implementations available via JVMCI; removed Truffle -> JVMCI dependency
Doug Simon <doug.simon@oracle.com>
parents: 21668
diff changeset
76 Method m = servicesClass.getDeclaredMethod("loadSingle", Class.class, boolean.class);
543f150e7fa0 com.oracle.jvmci.service.Service is now a marker for service implementations available via JVMCI; removed Truffle -> JVMCI dependency
Doug Simon <doug.simon@oracle.com>
parents: 21668
diff changeset
77 access = (TruffleRuntimeAccess) m.invoke(null, TruffleRuntimeAccess.class, false);
543f150e7fa0 com.oracle.jvmci.service.Service is now a marker for service implementations available via JVMCI; removed Truffle -> JVMCI dependency
Doug Simon <doug.simon@oracle.com>
parents: 21668
diff changeset
78 } catch (Throwable e) {
543f150e7fa0 com.oracle.jvmci.service.Service is now a marker for service implementations available via JVMCI; removed Truffle -> JVMCI dependency
Doug Simon <doug.simon@oracle.com>
parents: 21668
diff changeset
79 // Fail fast for other errors
543f150e7fa0 com.oracle.jvmci.service.Service is now a marker for service implementations available via JVMCI; removed Truffle -> JVMCI dependency
Doug Simon <doug.simon@oracle.com>
parents: 21668
diff changeset
80 throw (InternalError) new InternalError().initCause(e);
543f150e7fa0 com.oracle.jvmci.service.Service is now a marker for service implementations available via JVMCI; removed Truffle -> JVMCI dependency
Doug Simon <doug.simon@oracle.com>
parents: 21668
diff changeset
81 }
543f150e7fa0 com.oracle.jvmci.service.Service is now a marker for service implementations available via JVMCI; removed Truffle -> JVMCI dependency
Doug Simon <doug.simon@oracle.com>
parents: 21668
diff changeset
82 }
543f150e7fa0 com.oracle.jvmci.service.Service is now a marker for service implementations available via JVMCI; removed Truffle -> JVMCI dependency
Doug Simon <doug.simon@oracle.com>
parents: 21668
diff changeset
83 // TODO: try standard ServiceLoader?
22111
8b72dfac5cc7 Allow selecting the TruffleRuntime using a system property
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21963
diff changeset
84
21614
2f92172fa320 Truffle and NFI implementations are now accessed via JVMCI services instead of being hard coded in the VM (JBS:GRAAL-51)
Doug Simon <doug.simon@oracle.com>
parents: 18961
diff changeset
85 if (access != null) {
2f92172fa320 Truffle and NFI implementations are now accessed via JVMCI services instead of being hard coded in the VM (JBS:GRAAL-51)
Doug Simon <doug.simon@oracle.com>
parents: 18961
diff changeset
86 return access.getRuntime();
16779
e52ad0d3b7d6 put some security sensitive actions into a privileged action
Doug Simon <doug.simon@oracle.com>
parents: 15603
diff changeset
87 }
21614
2f92172fa320 Truffle and NFI implementations are now accessed via JVMCI services instead of being hard coded in the VM (JBS:GRAAL-51)
Doug Simon <doug.simon@oracle.com>
parents: 18961
diff changeset
88 return new DefaultTruffleRuntime();
2f92172fa320 Truffle and NFI implementations are now accessed via JVMCI services instead of being hard coded in the VM (JBS:GRAAL-51)
Doug Simon <doug.simon@oracle.com>
parents: 18961
diff changeset
89 }
2f92172fa320 Truffle and NFI implementations are now accessed via JVMCI services instead of being hard coded in the VM (JBS:GRAAL-51)
Doug Simon <doug.simon@oracle.com>
parents: 18961
diff changeset
90 });
7267
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
91 }
a4b84ba6dc2e Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
92 }