Mercurial > hg > graal-jvmci-8
diff graal/com.oracle.truffle.interop/src/com/oracle/truffle/interop/SymbolInvokerImpl.java @ 21716:2f9e4d984d16
Give languages a chance to do implicit exports. Prefer explicit exports over implicit ones.
author | Jaroslav Tulach <jaroslav.tulach@oracle.com> |
---|---|
date | Thu, 04 Jun 2015 08:08:05 +0200 |
parents | ed234a3178af |
children |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.interop/src/com/oracle/truffle/interop/SymbolInvokerImpl.java Thu Jun 04 01:00:44 2015 +0200 +++ b/graal/com.oracle.truffle.interop/src/com/oracle/truffle/interop/SymbolInvokerImpl.java Thu Jun 04 08:08:05 2015 +0200 @@ -40,6 +40,15 @@ @Override protected Object invoke(Object symbol, Object... arr) throws IOException { + if (symbol instanceof String) { + return symbol; + } + if (symbol instanceof Number) { + return symbol; + } + if (symbol instanceof Boolean) { + return symbol; + } ForeignObjectAccessNode callMain = ForeignObjectAccessNode.getAccess(Execute.create(Receiver.create(), arr.length)); CallTarget callMainTarget = Truffle.getRuntime().createCallTarget(new TemporaryRoot(callMain, (TruffleObject) symbol, arr)); VirtualFrame frame = Truffle.getRuntime().createVirtualFrame(arr, UNUSED_FRAMEDESCRIPTOR);